All functions:
  Elements:
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libidn/tests/tst_badutf8.c:38,1
    - Dst: idna_to_ascii_8z
      Src: /src/libidn/tests/tst_badutf8.c:44,1
    - Dst: free
      Src: /src/libidn/tests/tst_badutf8.c:45,1
    - Dst: fail
      Src: /src/libidn/tests/tst_badutf8.c:47,1
    - Dst: idn_free
      Src: /src/libidn/tests/tst_badutf8.c:49,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 50
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 50
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_badutf8.c
    functionUses: 0
    functionsReached:
    - idn_free
    - free
    - strdup
    - fail
    - idna_to_ascii_8z
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 25
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libidn/tests/tst_punycode.c:179,1
    - Dst: fail
      Src: /src/libidn/tests/tst_punycode.c:181,1
    - Dst: malloc
      Src: /src/libidn/tests/tst_punycode.c:183,1
    - Dst: fail
      Src: /src/libidn/tests/tst_punycode.c:185,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:190,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:194,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_punycode.c:195,1
    - Dst: punycode_encode
      Src: /src/libidn/tests/tst_punycode.c:199,1
    - Dst: fail
      Src: /src/libidn/tests/tst_punycode.c:203,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:205,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:214,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:215,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:218,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_punycode.c:222,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_punycode.c:222,1
    - Dst: memcmp
      Src: /src/libidn/tests/tst_punycode.c:223,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_punycode.c:223,1
    - Dst: fail
      Src: /src/libidn/tests/tst_punycode.c:225,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:227,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:230,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:233,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:237,1
    - Dst: punycode_decode
      Src: /src/libidn/tests/tst_punycode.c:241,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_punycode.c:241,1
    - Dst: fail
      Src: /src/libidn/tests/tst_punycode.c:245,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:247,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:253,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_punycode.c:254,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:255,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_punycode.c:256,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:259,1
    - Dst: memcmp
      Src: /src/libidn/tests/tst_punycode.c:264,1
    - Dst: fail
      Src: /src/libidn/tests/tst_punycode.c:266,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:268,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:271,1
    - Dst: printf
      Src: /src/libidn/tests/tst_punycode.c:274,1
    - Dst: free
      Src: /src/libidn/tests/tst_punycode.c:277,1
    - Dst: free
      Src: /src/libidn/tests/tst_punycode.c:278,1
    CyclomaticComplexity: 31
    EdgeCount: 31
    ICount: 74
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 279
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 279
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_punycode.c
    functionUses: 0
    functionsReached:
    - strlen
    - printf
    - ucs4print
    - malloc
    - memcmp
    - free
    - punycode_decode
    - fail
    - punycode_encode
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:36,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:38,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:41,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:44,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:47,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:49,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:51,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:56,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:58,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:62,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:64,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:69,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:70,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:72,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:77,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:79,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:83,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:85,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:89,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:91,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:95,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:97,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_versions.c:101,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:103,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:108,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:110,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:114,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:116,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_versions.c:120,1
    - Dst: printf
      Src: /src/libidn/tests/tst_versions.c:122,1
    CyclomaticComplexity: 13
    EdgeCount: 13
    ICount: 58
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 31
    functionDepth: 1
    functionLinenumber: 31
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/libidn/tests/tst_versions.c
    functionUses: 0
    functionsReached:
    - printf
    - stringprep_check_version
    - strcmp
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 21
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_stringprep.c:210,1
    - Dst: fail
      Src: /src/libidn/tests/tst_stringprep.c:211,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_stringprep.c:212,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_stringprep.c:214,1
    - Dst: fail
      Src: /src/libidn/tests/tst_stringprep.c:215,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_stringprep.c:217,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_stringprep.c:217,1
    - Dst: fail
      Src: /src/libidn/tests/tst_stringprep.c:218,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_stringprep.c:219,1
    - Dst: stringprep_check_version
      Src: /src/libidn/tests/tst_stringprep.c:221,1
    - Dst: fail
      Src: /src/libidn/tests/tst_stringprep.c:222,1
    - Dst: printf
      Src: /src/libidn/tests/tst_stringprep.c:227,1
    - Dst: printf
      Src: /src/libidn/tests/tst_stringprep.c:231,1
    - Dst: printf
      Src: /src/libidn/tests/tst_stringprep.c:233,1
    - Dst: escapeprint
      Src: /src/libidn/tests/tst_stringprep.c:234,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:234,1
    - Dst: hexprint
      Src: /src/libidn/tests/tst_stringprep.c:235,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:235,1
    - Dst: binprint
      Src: /src/libidn/tests/tst_stringprep.c:236,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:236,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/tests/tst_stringprep.c:241,1
    - Dst: fail
      Src: /src/libidn/tests/tst_stringprep.c:246,1
    - Dst: stringprep_ucs4_to_utf8
      Src: /src/libidn/tests/tst_stringprep.c:249,1
    - Dst: free
      Src: /src/libidn/tests/tst_stringprep.c:250,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_stringprep.c:251,1
    - Dst: fail
      Src: /src/libidn/tests/tst_stringprep.c:253,1
    - Dst: puts
      Src: /src/libidn/tests/tst_stringprep.c:256,1
    - Dst: escapeprint
      Src: /src/libidn/tests/tst_stringprep.c:257,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:257,1
    - Dst: hexprint
      Src: /src/libidn/tests/tst_stringprep.c:258,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:258,1
    - Dst: puts
      Src: /src/libidn/tests/tst_stringprep.c:259,1
    - Dst: escapeprint
      Src: /src/libidn/tests/tst_stringprep.c:260,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:260,1
    - Dst: hexprint
      Src: /src/libidn/tests/tst_stringprep.c:261,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:261,1
    - Dst: free
      Src: /src/libidn/tests/tst_stringprep.c:266,1
    - Dst: stringprep_profile
      Src: /src/libidn/tests/tst_stringprep.c:269,1
    - Dst: fail
      Src: /src/libidn/tests/tst_stringprep.c:275,1
    - Dst: printf
      Src: /src/libidn/tests/tst_stringprep.c:277,1
    - Dst: free
      Src: /src/libidn/tests/tst_stringprep.c:279,1
    - Dst: printf
      Src: /src/libidn/tests/tst_stringprep.c:285,1
    - Dst: escapeprint
      Src: /src/libidn/tests/tst_stringprep.c:286,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:286,1
    - Dst: hexprint
      Src: /src/libidn/tests/tst_stringprep.c:287,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:287,1
    - Dst: binprint
      Src: /src/libidn/tests/tst_stringprep.c:288,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:288,1
    - Dst: printf
      Src: /src/libidn/tests/tst_stringprep.c:290,1
    - Dst: escapeprint
      Src: /src/libidn/tests/tst_stringprep.c:291,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:291,1
    - Dst: hexprint
      Src: /src/libidn/tests/tst_stringprep.c:292,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:292,1
    - Dst: binprint
      Src: /src/libidn/tests/tst_stringprep.c:293,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:293,1
    - Dst: printf
      Src: /src/libidn/tests/tst_stringprep.c:296,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:300,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:300,1
    - Dst: memcmp
      Src: /src/libidn/tests/tst_stringprep.c:301,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:301,1
    - Dst: fail
      Src: /src/libidn/tests/tst_stringprep.c:303,1
    - Dst: printf
      Src: /src/libidn/tests/tst_stringprep.c:305,1
    - Dst: printf
      Src: /src/libidn/tests/tst_stringprep.c:308,1
    - Dst: free
      Src: /src/libidn/tests/tst_stringprep.c:310,1
    - Dst: printf
      Src: /src/libidn/tests/tst_stringprep.c:313,1
    - Dst: memset
      Src: /src/libidn/tests/tst_stringprep.c:319,1
    - Dst: stringprep_unichar_to_utf8
      Src: /src/libidn/tests/tst_stringprep.c:320,1
    - Dst: hexprint
      Src: /src/libidn/tests/tst_stringprep.c:321,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_stringprep.c:321,1
    - Dst: puts
      Src: /src/libidn/tests/tst_stringprep.c:322,1
    CyclomaticComplexity: 26
    EdgeCount: 26
    ICount: 80
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 325
      start: 203
    functionDepth: 1
    functionLinenumber: 203
    functionLinenumberEnd: 325
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_stringprep.c
    functionUses: 0
    functionsReached:
    - memset
    - hexprint
    - puts
    - stringprep_utf8_to_ucs4
    - strlen
    - binprint
    - stringprep_profile
    - strcmp
    - escapeprint
    - stringprep_check_version
    - printf
    - stringprep_ucs4_to_utf8
    - free
    - memcmp
    - fail
    - stringprep_unichar_to_utf8
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: idna_to_ascii_8z
      Src: /src/libidn/tests/tst_idna4.c:41,1
    - Dst: fail
      Src: /src/libidn/tests/tst_idna4.c:43,1
    - Dst: idna_to_ascii_8z
      Src: /src/libidn/tests/tst_idna4.c:45,1
    - Dst: fail
      Src: /src/libidn/tests/tst_idna4.c:47,1
    - Dst: idna_to_ascii_8z
      Src: /src/libidn/tests/tst_idna4.c:49,1
    - Dst: fail
      Src: /src/libidn/tests/tst_idna4.c:53,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 10
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 54
      start: 35
    functionDepth: 1
    functionLinenumber: 35
    functionLinenumberEnd: 54
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_idna4.c
    functionUses: 0
    functionsReached:
    - fail
    - idna_to_ascii_8z
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libidn/tests/tst_idna2.c:471,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna2.c:477,1
    - Dst: hexprint
      Src: /src/libidn/tests/tst_idna2.c:478,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_idna2.c:478,1
    - Dst: escapeprint
      Src: /src/libidn/tests/tst_idna2.c:479,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_idna2.c:479,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/tests/tst_idna2.c:480,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_idna2.c:481,1
    - Dst: free
      Src: /src/libidn/tests/tst_idna2.c:482,1
    - Dst: idna_to_ascii_8z
      Src: /src/libidn/tests/tst_idna2.c:485,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_idna2.c:488,1
    - Dst: fail
      Src: /src/libidn/tests/tst_idna2.c:490,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna2.c:496,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna2.c:497,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna2.c:500,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_idna2.c:504,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_idna2.c:504,1
    - Dst: strcasecmp
      Src: /src/libidn/tests/tst_idna2.c:505,1
    - Dst: fail
      Src: /src/libidn/tests/tst_idna2.c:507,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna2.c:509,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna2.c:512,1
    - Dst: free
      Src: /src/libidn/tests/tst_idna2.c:514,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_idna2.c:517,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna2.c:518,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna2.c:520,1
    CyclomaticComplexity: 18
    EdgeCount: 18
    ICount: 39
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 522
      start: 461
    functionDepth: 1
    functionLinenumber: 461
    functionLinenumberEnd: 522
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_idna2.c
    functionUses: 0
    functionsReached:
    - hexprint
    - strcasecmp
    - stringprep_utf8_to_ucs4
    - strlen
    - escapeprint
    - printf
    - ucs4print
    - free
    - fail
    - idna_to_ascii_8z
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 48
    BranchProfiles: []
    Callsites:
    - Dst: tld_get_table
      Src: /src/libidn/tests/tst_tld.c:87,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:89,1
    - Dst: tld_get_table
      Src: /src/libidn/tests/tst_tld.c:91,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:93,1
    - Dst: tld_default_table
      Src: /src/libidn/tests/tst_tld.c:95,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:97,1
    - Dst: tld_default_table
      Src: /src/libidn/tests/tst_tld.c:99,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:101,1
    - Dst: tld_default_table
      Src: /src/libidn/tests/tst_tld.c:103,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:105,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:107,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_tld.c:108,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:109,1
    - Dst: tld_default_table
      Src: /src/libidn/tests/tst_tld.c:112,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:114,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:116,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_tld.c:117,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:118,1
    - Dst: tld_get_4
      Src: /src/libidn/tests/tst_tld.c:121,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:123,1
    - Dst: tld_get_4
      Src: /src/libidn/tests/tst_tld.c:125,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:127,1
    - Dst: tld_check_4t
      Src: /src/libidn/tests/tst_tld.c:129,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:131,1
    - Dst: tld_check_4z
      Src: /src/libidn/tests/tst_tld.c:133,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:135,1
    - Dst: tld_check_4z
      Src: /src/libidn/tests/tst_tld.c:137,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:139,1
    - Dst: tld_check_8z
      Src: /src/libidn/tests/tst_tld.c:141,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:143,1
    - Dst: tld_check_lz
      Src: /src/libidn/tests/tst_tld.c:145,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:147,1
    - Dst: tld_check_lz
      Src: /src/libidn/tests/tst_tld.c:149,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:151,1
    - Dst: tld_get_4
      Src: /src/libidn/tests/tst_tld.c:157,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:159,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_tld.c:160,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:161,1
    - Dst: idn_free
      Src: /src/libidn/tests/tst_tld.c:162,1
    - Dst: tld_get_4z
      Src: /src/libidn/tests/tst_tld.c:164,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:166,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_tld.c:167,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:168,1
    - Dst: idn_free
      Src: /src/libidn/tests/tst_tld.c:169,1
    - Dst: tld_get_z
      Src: /src/libidn/tests/tst_tld.c:172,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:174,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_tld.c:175,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:176,1
    - Dst: idn_free
      Src: /src/libidn/tests/tst_tld.c:177,1
    - Dst: tld_get_z
      Src: /src/libidn/tests/tst_tld.c:180,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:182,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_tld.c:183,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:184,1
    - Dst: idn_free
      Src: /src/libidn/tests/tst_tld.c:185,1
    - Dst: tld_get_z
      Src: /src/libidn/tests/tst_tld.c:188,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:190,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_tld.c:191,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:192,1
    - Dst: idn_free
      Src: /src/libidn/tests/tst_tld.c:193,1
    - Dst: tld_get_z
      Src: /src/libidn/tests/tst_tld.c:196,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:198,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_tld.c:199,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:200,1
    - Dst: idn_free
      Src: /src/libidn/tests/tst_tld.c:201,1
    - Dst: printf
      Src: /src/libidn/tests/tst_tld.c:207,1
    - Dst: printf
      Src: /src/libidn/tests/tst_tld.c:211,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_tld.c:212,1
    - Dst: tld_default_table
      Src: /src/libidn/tests/tst_tld.c:215,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:218,1
    - Dst: printf
      Src: /src/libidn/tests/tst_tld.c:220,1
    - Dst: tld_check_4t
      Src: /src/libidn/tests/tst_tld.c:224,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:227,1
    - Dst: printf
      Src: /src/libidn/tests/tst_tld.c:229,1
    - Dst: printf
      Src: /src/libidn/tests/tst_tld.c:234,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:238,1
    - Dst: printf
      Src: /src/libidn/tests/tst_tld.c:240,1
    - Dst: printf
      Src: /src/libidn/tests/tst_tld.c:245,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:250,1
    - Dst: printf
      Src: /src/libidn/tests/tst_tld.c:253,1
    - Dst: printf
      Src: /src/libidn/tests/tst_tld.c:257,1
    - Dst: tld_check_8z
      Src: /src/libidn/tests/tst_tld.c:260,1
    - Dst: fail
      Src: /src/libidn/tests/tst_tld.c:263,1
    - Dst: printf
      Src: /src/libidn/tests/tst_tld.c:265,1
    - Dst: printf
      Src: /src/libidn/tests/tst_tld.c:268,1
    CyclomaticComplexity: 52
    EdgeCount: 52
    ICount: 141
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 271
      start: 78
    functionDepth: 1
    functionLinenumber: 78
    functionLinenumberEnd: 271
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_tld.c
    functionUses: 0
    functionsReached:
    - tld_get_4
    - tld_get_4z
    - tld_check_8z
    - idn_free
    - tld_get_table
    - strcmp
    - printf
    - ucs4print
    - tld_check_4t
    - tld_default_table
    - tld_check_lz
    - fail
    - tld_get_z
    - tld_check_4z
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libidn/tests/tst_nfkc.c:76,1
    - Dst: stringprep_utf8_nfkc_normalize
      Src: /src/libidn/tests/tst_nfkc.c:78,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:79,1
    - Dst: fail
      Src: /src/libidn/tests/tst_nfkc.c:82,1
    - Dst: printf
      Src: /src/libidn/tests/tst_nfkc.c:91,1
    - Dst: escapeprint
      Src: /src/libidn/tests/tst_nfkc.c:92,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:92,1
    - Dst: hexprint
      Src: /src/libidn/tests/tst_nfkc.c:93,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:93,1
    - Dst: binprint
      Src: /src/libidn/tests/tst_nfkc.c:94,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:94,1
    - Dst: printf
      Src: /src/libidn/tests/tst_nfkc.c:97,1
    - Dst: escapeprint
      Src: /src/libidn/tests/tst_nfkc.c:98,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:98,1
    - Dst: hexprint
      Src: /src/libidn/tests/tst_nfkc.c:99,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:99,1
    - Dst: binprint
      Src: /src/libidn/tests/tst_nfkc.c:100,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:100,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/tests/tst_nfkc.c:101,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_nfkc.c:104,1
    - Dst: free
      Src: /src/libidn/tests/tst_nfkc.c:105,1
    - Dst: printf
      Src: /src/libidn/tests/tst_nfkc.c:108,1
    - Dst: escapeprint
      Src: /src/libidn/tests/tst_nfkc.c:109,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:109,1
    - Dst: hexprint
      Src: /src/libidn/tests/tst_nfkc.c:110,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:110,1
    - Dst: binprint
      Src: /src/libidn/tests/tst_nfkc.c:111,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:111,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:114,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:114,1
    - Dst: memcmp
      Src: /src/libidn/tests/tst_nfkc.c:115,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_nfkc.c:115,1
    - Dst: fail
      Src: /src/libidn/tests/tst_nfkc.c:117,1
    - Dst: printf
      Src: /src/libidn/tests/tst_nfkc.c:119,1
    - Dst: printf
      Src: /src/libidn/tests/tst_nfkc.c:122,1
    - Dst: free
      Src: /src/libidn/tests/tst_nfkc.c:124,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 37
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 126
      start: 67
    functionDepth: 1
    functionLinenumber: 67
    functionLinenumberEnd: 126
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_nfkc.c
    functionUses: 0
    functionsReached:
    - stringprep_utf8_nfkc_normalize
    - hexprint
    - stringprep_utf8_to_ucs4
    - strlen
    - binprint
    - escapeprint
    - printf
    - ucs4print
    - free
    - memcmp
    - fail
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: idna_to_unicode_8z8z
      Src: /src/libidn/tests/tst_utf8crash.c:45,1
    - Dst: fail
      Src: /src/libidn/tests/tst_utf8crash.c:47,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 38
    functionDepth: 1
    functionLinenumber: 38
    functionLinenumberEnd: 48
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_utf8crash.c
    functionUses: 0
    functionsReached:
    - fail
    - idna_to_unicode_8z8z
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: strdup
      Src: /src/libidn/tests/tst_badutf8nfkc.c:35,1
    - Dst: stringprep_utf8_nfkc_normalize
      Src: /src/libidn/tests/tst_badutf8nfkc.c:38,1
    - Dst: free
      Src: /src/libidn/tests/tst_badutf8nfkc.c:39,1
    - Dst: free
      Src: /src/libidn/tests/tst_badutf8nfkc.c:40,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 41
      start: 32
    functionDepth: 1
    functionLinenumber: 32
    functionLinenumberEnd: 41
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_badutf8nfkc.c
    functionUses: 0
    functionsReached:
    - stringprep_utf8_nfkc_normalize
    - free
    - strdup
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: idna_to_unicode_8z8z
      Src: /src/libidn/tests/tst_idna3.c:66,1
    - Dst: fail
      Src: /src/libidn/tests/tst_idna3.c:68,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna3.c:72,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna3.c:73,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna3.c:74,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_idna3.c:77,1
    - Dst: fail
      Src: /src/libidn/tests/tst_idna3.c:78,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna3.c:80,1
    - Dst: idn_free
      Src: /src/libidn/tests/tst_idna3.c:83,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 17
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 57
    functionDepth: 1
    functionLinenumber: 57
    functionLinenumberEnd: 85
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_idna3.c
    functionUses: 0
    functionsReached:
    - idn_free
    - strcmp
    - idna_to_unicode_8z8z
    - printf
    - fail
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: assert
      Src: /src/libidn/tests/tst_symbols.c:41,1
    - Dst: fail
      Src: /src/libidn/tests/tst_symbols.c:43,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - p
    argTypes:
    - void*
    assertStmts:
    - condition: (p)
      pos:
        line_end: 40
        line_start: 40
        source_file: /src/libidn/tests/tst_symbols.c
    constantsTouched: []
    func_position:
      end: 44
      start: 38
    functionDepth: 0
    functionLinenumber: 38
    functionLinenumberEnd: 44
    functionName: assert_symbol_exists
    functionSourceFile: /src/libidn/tests/tst_symbols.c
    functionUses: 0
    functionsReached:
    - assert
    - fail
    linkageType: ''
    returnType: void
    signature: void assert_symbol_exists (const void *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:49,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:50,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:51,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:52,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:53,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:54,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:55,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:56,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:57,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:58,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:59,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:60,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:61,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:62,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:63,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:64,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:65,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:66,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:67,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:68,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:69,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:70,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:71,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:72,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:73,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:74,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:75,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:76,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:77,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:78,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:79,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:80,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:81,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:82,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:83,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:84,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:85,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:86,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:87,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:88,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:89,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:90,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:91,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:92,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:93,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:94,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:95,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:96,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:97,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:98,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:99,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:100,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:101,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:102,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:103,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:104,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:105,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:106,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:107,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:108,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:109,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:110,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:111,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:112,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:115,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:116,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:117,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:118,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:119,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:120,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:121,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:122,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:123,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:124,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:125,1
    - Dst: assert_symbol_exists
      Src: /src/libidn/tests/tst_symbols.c:126,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 77
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 128
      start: 46
    functionDepth: 1
    functionLinenumber: 46
    functionLinenumberEnd: 128
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_symbols.c
    functionUses: 0
    functionsReached:
    - assert_symbol_exists
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: va_start
      Src: /src/libidn/tests/utils.c:39,1
    - Dst: vfprintf
      Src: /src/libidn/tests/utils.c:40,1
    - Dst: va_end
      Src: /src/libidn/tests/utils.c:41,1
    - Dst: exit
      Src: /src/libidn/tests/utils.c:44,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - format
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 45
      start: 34
    functionDepth: 0
    functionLinenumber: 34
    functionLinenumberEnd: 45
    functionName: fail
    functionSourceFile: /src/libidn/tests/utils.c
    functionUses: 10
    functionsReached:
    - va_start
    - exit
    - vfprintf
    - va_end
    linkageType: ''
    returnType: void
    signature: void fail (const char *format, ...)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libidn/tests/utils.c:52,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:59,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:61,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:63,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:65,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 66
      start: 47
    functionDepth: 0
    functionLinenumber: 47
    functionLinenumberEnd: 66
    functionName: escapeprint
    functionSourceFile: /src/libidn/tests/utils.c
    functionUses: 3
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void escapeprint (const char *str, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libidn/tests/utils.c:73,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:76,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:78,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:80,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:82,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 68
    functionDepth: 0
    functionLinenumber: 68
    functionLinenumberEnd: 83
    functionName: hexprint
    functionSourceFile: /src/libidn/tests/utils.c
    functionUses: 3
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void hexprint (const char *str, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libidn/tests/utils.c:90,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:93,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:102,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:104,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:106,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 107
    functionName: binprint
    functionSourceFile: /src/libidn/tests/utils.c
    functionUses: 2
    functionsReached:
    - printf
    linkageType: ''
    returnType: void
    signature: void binprint (const char *str, size_t len)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libidn/tests/utils.c:114,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:117,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:119,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:121,1
    - Dst: puts
      Src: /src/libidn/tests/utils.c:123,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 10
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 124
      start: 109
    functionDepth: 0
    functionLinenumber: 109
    functionLinenumberEnd: 124
    functionName: ucs4print
    functionSourceFile: /src/libidn/tests/utils.c
    functionUses: 4
    functionsReached:
    - printf
    - puts
    linkageType: ''
    returnType: void
    signature: void ucs4print (const uint32_t *str, size_t len)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libidn/tests/utils.c:130,1
    - Dst: strcmp
      Src: /src/libidn/tests/utils.c:131,1
    - Dst: strcmp
      Src: /src/libidn/tests/utils.c:133,1
    - Dst: strcmp
      Src: /src/libidn/tests/utils.c:134,1
    - Dst: strcmp
      Src: /src/libidn/tests/utils.c:136,1
    - Dst: strcmp
      Src: /src/libidn/tests/utils.c:137,1
    - Dst: strcmp
      Src: /src/libidn/tests/utils.c:138,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:140,1
    - Dst: doit
      Src: /src/libidn/tests/utils.c:146,1
    - Dst: printf
      Src: /src/libidn/tests/utils.c:149,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 14
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 152
      start: 126
    functionDepth: 0
    functionLinenumber: 126
    functionLinenumberEnd: 152
    functionName: main
    functionSourceFile: /src/libidn/tests/utils.c
    functionUses: 0
    functionsReached:
    - printf
    - strcmp
    - doit
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 34
    BranchProfiles: []
    Callsites:
    - Dst: idna_strerror
      Src: /src/libidn/tests/tst_strerror.c:50,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_strerror.c:51,1
    - Dst: fail
      Src: /src/libidn/tests/tst_strerror.c:52,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:54,1
    - Dst: pr29_strerror
      Src: /src/libidn/tests/tst_strerror.c:56,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_strerror.c:57,1
    - Dst: fail
      Src: /src/libidn/tests/tst_strerror.c:58,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:60,1
    - Dst: punycode_strerror
      Src: /src/libidn/tests/tst_strerror.c:62,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_strerror.c:63,1
    - Dst: fail
      Src: /src/libidn/tests/tst_strerror.c:64,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:66,1
    - Dst: stringprep_strerror
      Src: /src/libidn/tests/tst_strerror.c:68,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_strerror.c:69,1
    - Dst: fail
      Src: /src/libidn/tests/tst_strerror.c:70,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:72,1
    - Dst: tld_strerror
      Src: /src/libidn/tests/tst_strerror.c:75,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_strerror.c:76,1
    - Dst: fail
      Src: /src/libidn/tests/tst_strerror.c:77,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:79,1
    - Dst: idna_strerror
      Src: /src/libidn/tests/tst_strerror.c:84,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_strerror.c:85,1
    - Dst: fail
      Src: /src/libidn/tests/tst_strerror.c:86,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:88,1
    - Dst: pr29_strerror
      Src: /src/libidn/tests/tst_strerror.c:90,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_strerror.c:91,1
    - Dst: fail
      Src: /src/libidn/tests/tst_strerror.c:92,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:94,1
    - Dst: punycode_strerror
      Src: /src/libidn/tests/tst_strerror.c:96,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_strerror.c:97,1
    - Dst: fail
      Src: /src/libidn/tests/tst_strerror.c:98,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:100,1
    - Dst: stringprep_strerror
      Src: /src/libidn/tests/tst_strerror.c:102,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_strerror.c:103,1
    - Dst: fail
      Src: /src/libidn/tests/tst_strerror.c:104,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:106,1
    - Dst: tld_strerror
      Src: /src/libidn/tests/tst_strerror.c:109,1
    - Dst: strcmp
      Src: /src/libidn/tests/tst_strerror.c:110,1
    - Dst: fail
      Src: /src/libidn/tests/tst_strerror.c:111,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:113,1
    - Dst: idna_strerror
      Src: /src/libidn/tests/tst_strerror.c:124,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:135,1
    - Dst: pr29_strerror
      Src: /src/libidn/tests/tst_strerror.c:146,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:150,1
    - Dst: punycode_strerror
      Src: /src/libidn/tests/tst_strerror.c:161,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:165,1
    - Dst: stringprep_strerror
      Src: /src/libidn/tests/tst_strerror.c:176,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:192,1
    - Dst: tld_strerror
      Src: /src/libidn/tests/tst_strerror.c:204,1
    - Dst: printf
      Src: /src/libidn/tests/tst_strerror.c:208,1
    CyclomaticComplexity: 46
    EdgeCount: 46
    ICount: 110
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 213
      start: 43
    functionDepth: 1
    functionLinenumber: 43
    functionLinenumberEnd: 213
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_strerror.c
    functionUses: 1
    functionsReached:
    - idna_strerror
    - stringprep_strerror
    - strcmp
    - printf
    - punycode_strerror
    - tld_strerror
    - fail
    - pr29_strerror
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/tests/tst_toascii64oob.c:60,1
    - Dst: fail
      Src: /src/libidn/tests/tst_toascii64oob.c:62,1
    - Dst: idna_to_ascii_4z
      Src: /src/libidn/tests/tst_toascii64oob.c:64,1
    - Dst: free
      Src: /src/libidn/tests/tst_toascii64oob.c:65,1
    - Dst: fail
      Src: /src/libidn/tests/tst_toascii64oob.c:67,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 68
      start: 51
    functionDepth: 1
    functionLinenumber: 51
    functionLinenumberEnd: 68
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_toascii64oob.c
    functionUses: 1
    functionsReached:
    - fail
    - free
    - stringprep_utf8_to_ucs4
    - idna_to_ascii_4z
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_locale_charset
      Src: /src/libidn/tests/tst_toutf8.c:40,1
    - Dst: fail
      Src: /src/libidn/tests/tst_toutf8.c:42,1
    - Dst: printf
      Src: /src/libidn/tests/tst_toutf8.c:44,1
    - Dst: stringprep_locale_to_utf8
      Src: /src/libidn/tests/tst_toutf8.c:46,1
    - Dst: memcmp
      Src: /src/libidn/tests/tst_toutf8.c:47,1
    - Dst: fail
      Src: /src/libidn/tests/tst_toutf8.c:48,1
    - Dst: printf
      Src: /src/libidn/tests/tst_toutf8.c:50,1
    - Dst: free
      Src: /src/libidn/tests/tst_toutf8.c:51,1
    - Dst: stringprep_utf8_to_locale
      Src: /src/libidn/tests/tst_toutf8.c:53,1
    - Dst: memcmp
      Src: /src/libidn/tests/tst_toutf8.c:54,1
    - Dst: fail
      Src: /src/libidn/tests/tst_toutf8.c:55,1
    - Dst: printf
      Src: /src/libidn/tests/tst_toutf8.c:57,1
    - Dst: free
      Src: /src/libidn/tests/tst_toutf8.c:58,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 18
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 34
    functionDepth: 1
    functionLinenumber: 34
    functionLinenumberEnd: 59
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_toutf8.c
    functionUses: 1
    functionsReached:
    - stringprep_locale_to_utf8
    - memcmp
    - printf
    - free
    - stringprep_utf8_to_locale
    - stringprep_locale_charset
    - fail
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 24
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:230,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:234,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_idna.c:235,1
    - Dst: idna_to_ascii_4i
      Src: /src/libidn/tests/tst_idna.c:238,1
    - Dst: fail
      Src: /src/libidn/tests/tst_idna.c:241,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:243,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:249,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:250,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:253,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_idna.c:257,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_idna.c:257,1
    - Dst: strcasecmp
      Src: /src/libidn/tests/tst_idna.c:258,1
    - Dst: fail
      Src: /src/libidn/tests/tst_idna.c:260,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:262,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:265,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:268,1
    - Dst: idn_free
      Src: /src/libidn/tests/tst_idna.c:271,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/tests/tst_idna.c:273,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:277,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_idna.c:278,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_idna.c:279,1
    - Dst: idna_to_unicode_44i
      Src: /src/libidn/tests/tst_idna.c:283,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:286,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_idna.c:289,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_idna.c:291,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:293,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_idna.c:294,1
    - Dst: fail
      Src: /src/libidn/tests/tst_idna.c:299,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:301,1
    - Dst: memcmp
      Src: /src/libidn/tests/tst_idna.c:306,1
    - Dst: memcmp
      Src: /src/libidn/tests/tst_idna.c:308,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:313,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:315,1
    - Dst: fail
      Src: /src/libidn/tests/tst_idna.c:317,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:319,1
    - Dst: printf
      Src: /src/libidn/tests/tst_idna.c:322,1
    - Dst: idn_free
      Src: /src/libidn/tests/tst_idna.c:326,1
    CyclomaticComplexity: 33
    EdgeCount: 33
    ICount: 70
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 327
      start: 217
    functionDepth: 1
    functionLinenumber: 217
    functionLinenumberEnd: 327
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_idna.c
    functionUses: 1
    functionsReached:
    - strcasecmp
    - idn_free
    - strlen
    - stringprep_utf8_to_ucs4
    - idna_to_ascii_4i
    - printf
    - ucs4print
    - memcmp
    - fail
    - idna_to_unicode_44i
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 12
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libidn/tests/tst_pr29.c:103,1
    - Dst: printf
      Src: /src/libidn/tests/tst_pr29.c:105,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_pr29.c:106,1
    - Dst: printf
      Src: /src/libidn/tests/tst_pr29.c:108,1
    - Dst: stringprep_ucs4_nfkc_normalize
      Src: /src/libidn/tests/tst_pr29.c:109,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_pr29.c:110,1
    - Dst: printf
      Src: /src/libidn/tests/tst_pr29.c:112,1
    - Dst: stringprep_ucs4_nfkc_normalize
      Src: /src/libidn/tests/tst_pr29.c:113,1
    - Dst: ucs4print
      Src: /src/libidn/tests/tst_pr29.c:114,1
    - Dst: free
      Src: /src/libidn/tests/tst_pr29.c:116,1
    - Dst: free
      Src: /src/libidn/tests/tst_pr29.c:117,1
    - Dst: pr29_4
      Src: /src/libidn/tests/tst_pr29.c:120,1
    - Dst: fail
      Src: /src/libidn/tests/tst_pr29.c:123,1
    - Dst: printf
      Src: /src/libidn/tests/tst_pr29.c:125,1
    - Dst: pr29_4z
      Src: /src/libidn/tests/tst_pr29.c:129,1
    - Dst: fail
      Src: /src/libidn/tests/tst_pr29.c:132,1
    - Dst: printf
      Src: /src/libidn/tests/tst_pr29.c:134,1
    - Dst: stringprep_ucs4_to_utf8
      Src: /src/libidn/tests/tst_pr29.c:142,1
    - Dst: fail
      Src: /src/libidn/tests/tst_pr29.c:145,1
    - Dst: hexprint
      Src: /src/libidn/tests/tst_pr29.c:147,1
    - Dst: strlen
      Src: /src/libidn/tests/tst_pr29.c:147,1
    - Dst: pr29_8z
      Src: /src/libidn/tests/tst_pr29.c:149,1
    - Dst: free
      Src: /src/libidn/tests/tst_pr29.c:150,1
    - Dst: fail
      Src: /src/libidn/tests/tst_pr29.c:153,1
    - Dst: printf
      Src: /src/libidn/tests/tst_pr29.c:156,1
    - Dst: printf
      Src: /src/libidn/tests/tst_pr29.c:164,1
    - Dst: printf
      Src: /src/libidn/tests/tst_pr29.c:166,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 49
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 91
    functionDepth: 1
    functionLinenumber: 91
    functionLinenumberEnd: 169
    functionName: doit
    functionSourceFile: /src/libidn/tests/tst_pr29.c
    functionUses: 1
    functionsReached:
    - hexprint
    - pr29_4
    - strlen
    - stringprep_ucs4_nfkc_normalize
    - printf
    - ucs4print
    - free
    - pr29_4z
    - stringprep_ucs4_to_utf8
    - pr29_8z
    - fail
    linkageType: ''
    returnType: void
    signature: void doit (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 36
      start: 35
    functionDepth: 0
    functionLinenumber: 35
    functionLinenumberEnd: 36
    functionName: _
    functionSourceFile: /src/libidn/src/idn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(String)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 37
      start: 36
    functionDepth: 0
    functionLinenumber: 36
    functionLinenumberEnd: 37
    functionName: N_
    functionSourceFile: /src/libidn/src/idn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: N_(String)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:65,1
    - Dst: _
      Src: /src/libidn/src/idn.c:65,1
    - Dst: printf
      Src: /src/libidn/src/idn.c:69,1
    - Dst: _
      Src: /src/libidn/src/idn.c:69,1
    - Dst: fputs
      Src: /src/libidn/src/idn.c:72,1
    - Dst: _
      Src: /src/libidn/src/idn.c:72,1
    - Dst: fputs
      Src: /src/libidn/src/idn.c:76,1
    - Dst: _
      Src: /src/libidn/src/idn.c:76,1
    - Dst: fputs
      Src: /src/libidn/src/idn.c:88,1
    - Dst: _
      Src: /src/libidn/src/idn.c:88,1
    - Dst: fputs
      Src: /src/libidn/src/idn.c:92,1
    - Dst: _
      Src: /src/libidn/src/idn.c:92,1
    - Dst: fputs
      Src: /src/libidn/src/idn.c:99,1
    - Dst: _
      Src: /src/libidn/src/idn.c:99,1
    - Dst: fputs
      Src: /src/libidn/src/idn.c:103,1
    - Dst: _
      Src: /src/libidn/src/idn.c:103,1
    - Dst: fputs
      Src: /src/libidn/src/idn.c:107,1
    - Dst: _
      Src: /src/libidn/src/idn.c:107,1
    - Dst: fputs
      Src: /src/libidn/src/idn.c:110,1
    - Dst: _
      Src: /src/libidn/src/idn.c:110,1
    - Dst: fputs
      Src: /src/libidn/src/idn.c:115,1
    - Dst: _
      Src: /src/libidn/src/idn.c:115,1
    - Dst: emit_bug_reporting_address
      Src: /src/libidn/src/idn.c:119,1
    - Dst: exit
      Src: /src/libidn/src/idn.c:121,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 16
    argCount: 1
    argNames:
    - status
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 122
      start: 61
    functionDepth: 0
    functionLinenumber: 61
    functionLinenumberEnd: 122
    functionName: usage
    functionSourceFile: /src/libidn/src/idn.c
    functionUses: 0
    functionsReached:
    - emit_bug_reporting_address
    - fputs
    - exit
    - printf
    - fprintf
    - _
    linkageType: ''
    returnType: void
    signature: void usage (int status)
  - BBCount: 66
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/libidn/src/idn.c:135,1
    - Dst: set_program_name
      Src: /src/libidn/src/idn.c:136,1
    - Dst: bindtextdomain
      Src: /src/libidn/src/idn.c:137,1
    - Dst: bindtextdomain
      Src: /src/libidn/src/idn.c:138,1
    - Dst: textdomain
      Src: /src/libidn/src/idn.c:139,1
    - Dst: cmdline_parser
      Src: /src/libidn/src/idn.c:141,1
    - Dst: usage
      Src: /src/libidn/src/idn.c:142,1
    - Dst: version_etc
      Src: /src/libidn/src/idn.c:146,1
    - Dst: usage
      Src: /src/libidn/src/idn.c:152,1
    - Dst: error
      Src: /src/libidn/src/idn.c:173,1
    - Dst: _
      Src: /src/libidn/src/idn.c:174,1
    - Dst: usage
      Src: /src/libidn/src/idn.c:175,1
    - Dst: isatty
      Src: /src/libidn/src/idn.c:179,1
    - Dst: fileno
      Src: /src/libidn/src/idn.c:179,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:180,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:183,1
    - Dst: _
      Src: /src/libidn/src/idn.c:183,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/src/idn.c:183,1
    - Dst: isatty
      Src: /src/libidn/src/idn.c:186,1
    - Dst: fileno
      Src: /src/libidn/src/idn.c:186,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:187,1
    - Dst: _
      Src: /src/libidn/src/idn.c:188,1
    - Dst: strdup
      Src: /src/libidn/src/idn.c:195,1
    - Dst: error
      Src: /src/libidn/src/idn.c:197,1
    - Dst: N_
      Src: /src/libidn/src/idn.c:197,1
    - Dst: getline
      Src: /src/libidn/src/idn.c:199,1
    - Dst: feof
      Src: /src/libidn/src/idn.c:201,1
    - Dst: error
      Src: /src/libidn/src/idn.c:204,1
    - Dst: _
      Src: /src/libidn/src/idn.c:204,1
    - Dst: strlen
      Src: /src/libidn/src/idn.c:207,1
    - Dst: strlen
      Src: /src/libidn/src/idn.c:208,1
    - Dst: strlen
      Src: /src/libidn/src/idn.c:209,1
    - Dst: stringprep_locale_to_utf8
      Src: /src/libidn/src/idn.c:213,1
    - Dst: error
      Src: /src/libidn/src/idn.c:215,1
    - Dst: _
      Src: /src/libidn/src/idn.c:215,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/src/idn.c:216,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/src/idn.c:218,1
    - Dst: free
      Src: /src/libidn/src/idn.c:221,1
    - Dst: error
      Src: /src/libidn/src/idn.c:222,1
    - Dst: _
      Src: /src/libidn/src/idn.c:223,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:230,1
    - Dst: free
      Src: /src/libidn/src/idn.c:233,1
    - Dst: stringprep_profile
      Src: /src/libidn/src/idn.c:235,1
    - Dst: free
      Src: /src/libidn/src/idn.c:238,1
    - Dst: error
      Src: /src/libidn/src/idn.c:240,1
    - Dst: _
      Src: /src/libidn/src/idn.c:240,1
    - Dst: stringprep_strerror
      Src: /src/libidn/src/idn.c:241,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/src/idn.c:243,1
    - Dst: free
      Src: /src/libidn/src/idn.c:246,1
    - Dst: error
      Src: /src/libidn/src/idn.c:247,1
    - Dst: _
      Src: /src/libidn/src/idn.c:248,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:255,1
    - Dst: free
      Src: /src/libidn/src/idn.c:258,1
    - Dst: stringprep_utf8_to_locale
      Src: /src/libidn/src/idn.c:260,1
    - Dst: free
      Src: /src/libidn/src/idn.c:261,1
    - Dst: error
      Src: /src/libidn/src/idn.c:263,1
    - Dst: _
      Src: /src/libidn/src/idn.c:263,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/src/idn.c:264,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:266,1
    - Dst: free
      Src: /src/libidn/src/idn.c:268,1
    - Dst: stringprep_locale_to_utf8
      Src: /src/libidn/src/idn.c:276,1
    - Dst: error
      Src: /src/libidn/src/idn.c:278,1
    - Dst: _
      Src: /src/libidn/src/idn.c:278,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/src/idn.c:279,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/src/idn.c:281,1
    - Dst: free
      Src: /src/libidn/src/idn.c:282,1
    - Dst: error
      Src: /src/libidn/src/idn.c:284,1
    - Dst: _
      Src: /src/libidn/src/idn.c:285,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:291,1
    - Dst: punycode_encode
      Src: /src/libidn/src/idn.c:296,1
    - Dst: free
      Src: /src/libidn/src/idn.c:297,1
    - Dst: error
      Src: /src/libidn/src/idn.c:299,1
    - Dst: _
      Src: /src/libidn/src/idn.c:299,1
    - Dst: punycode_strerror
      Src: /src/libidn/src/idn.c:300,1
    - Dst: stringprep_utf8_to_locale
      Src: /src/libidn/src/idn.c:304,1
    - Dst: error
      Src: /src/libidn/src/idn.c:306,1
    - Dst: _
      Src: /src/libidn/src/idn.c:306,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/src/idn.c:307,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:309,1
    - Dst: free
      Src: /src/libidn/src/idn.c:311,1
    - Dst: malloc
      Src: /src/libidn/src/idn.c:319,1
    - Dst: error
      Src: /src/libidn/src/idn.c:321,1
    - Dst: N_
      Src: /src/libidn/src/idn.c:321,1
    - Dst: punycode_decode
      Src: /src/libidn/src/idn.c:323,1
    - Dst: strlen
      Src: /src/libidn/src/idn.c:323,1
    - Dst: free
      Src: /src/libidn/src/idn.c:326,1
    - Dst: error
      Src: /src/libidn/src/idn.c:327,1
    - Dst: _
      Src: /src/libidn/src/idn.c:327,1
    - Dst: punycode_strerror
      Src: /src/libidn/src/idn.c:328,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:335,1
    - Dst: stringprep_ucs4_to_utf8
      Src: /src/libidn/src/idn.c:340,1
    - Dst: free
      Src: /src/libidn/src/idn.c:341,1
    - Dst: error
      Src: /src/libidn/src/idn.c:343,1
    - Dst: _
      Src: /src/libidn/src/idn.c:344,1
    - Dst: stringprep_utf8_to_locale
      Src: /src/libidn/src/idn.c:346,1
    - Dst: free
      Src: /src/libidn/src/idn.c:347,1
    - Dst: error
      Src: /src/libidn/src/idn.c:349,1
    - Dst: _
      Src: /src/libidn/src/idn.c:349,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/src/idn.c:350,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:352,1
    - Dst: free
      Src: /src/libidn/src/idn.c:354,1
    - Dst: stringprep_locale_to_utf8
      Src: /src/libidn/src/idn.c:359,1
    - Dst: error
      Src: /src/libidn/src/idn.c:361,1
    - Dst: _
      Src: /src/libidn/src/idn.c:361,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/src/idn.c:362,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/src/idn.c:364,1
    - Dst: free
      Src: /src/libidn/src/idn.c:365,1
    - Dst: error
      Src: /src/libidn/src/idn.c:367,1
    - Dst: _
      Src: /src/libidn/src/idn.c:368,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:374,1
    - Dst: idna_to_ascii_4z
      Src: /src/libidn/src/idn.c:378,1
    - Dst: free
      Src: /src/libidn/src/idn.c:383,1
    - Dst: error
      Src: /src/libidn/src/idn.c:385,1
    - Dst: _
      Src: /src/libidn/src/idn.c:385,1
    - Dst: idna_strerror
      Src: /src/libidn/src/idn.c:386,1
    - Dst: idna_to_unicode_8z4z
      Src: /src/libidn/src/idn.c:393,1
    - Dst: error
      Src: /src/libidn/src/idn.c:399,1
    - Dst: _
      Src: /src/libidn/src/idn.c:399,1
    - Dst: idna_strerror
      Src: /src/libidn/src/idn.c:400,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:406,1
    - Dst: tld_check_4z
      Src: /src/libidn/src/idn.c:410,1
    - Dst: free
      Src: /src/libidn/src/idn.c:411,1
    - Dst: error
      Src: /src/libidn/src/idn.c:413,1
    - Dst: _
      Src: /src/libidn/src/idn.c:413,1
    - Dst: tld_strerror
      Src: /src/libidn/src/idn.c:414,1
    - Dst: error
      Src: /src/libidn/src/idn.c:416,1
    - Dst: _
      Src: /src/libidn/src/idn.c:416,1
    - Dst: tld_strerror
      Src: /src/libidn/src/idn.c:417,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:425,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:429,1
    - Dst: free
      Src: /src/libidn/src/idn.c:431,1
    - Dst: stringprep_locale_to_utf8
      Src: /src/libidn/src/idn.c:436,1
    - Dst: error
      Src: /src/libidn/src/idn.c:438,1
    - Dst: _
      Src: /src/libidn/src/idn.c:438,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/src/idn.c:439,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/src/idn.c:441,1
    - Dst: free
      Src: /src/libidn/src/idn.c:444,1
    - Dst: error
      Src: /src/libidn/src/idn.c:445,1
    - Dst: _
      Src: /src/libidn/src/idn.c:446,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:453,1
    - Dst: free
      Src: /src/libidn/src/idn.c:456,1
    - Dst: idna_to_unicode_8z4z
      Src: /src/libidn/src/idn.c:458,1
    - Dst: free
      Src: /src/libidn/src/idn.c:463,1
    - Dst: error
      Src: /src/libidn/src/idn.c:465,1
    - Dst: _
      Src: /src/libidn/src/idn.c:465,1
    - Dst: idna_strerror
      Src: /src/libidn/src/idn.c:466,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:472,1
    - Dst: tld_check_4z
      Src: /src/libidn/src/idn.c:481,1
    - Dst: free
      Src: /src/libidn/src/idn.c:484,1
    - Dst: error
      Src: /src/libidn/src/idn.c:485,1
    - Dst: _
      Src: /src/libidn/src/idn.c:486,1
    - Dst: tld_strerror
      Src: /src/libidn/src/idn.c:487,1
    - Dst: free
      Src: /src/libidn/src/idn.c:491,1
    - Dst: error
      Src: /src/libidn/src/idn.c:492,1
    - Dst: _
      Src: /src/libidn/src/idn.c:492,1
    - Dst: tld_strerror
      Src: /src/libidn/src/idn.c:493,1
    - Dst: stringprep_ucs4_to_utf8
      Src: /src/libidn/src/idn.c:498,1
    - Dst: free
      Src: /src/libidn/src/idn.c:499,1
    - Dst: error
      Src: /src/libidn/src/idn.c:501,1
    - Dst: _
      Src: /src/libidn/src/idn.c:502,1
    - Dst: stringprep_utf8_to_locale
      Src: /src/libidn/src/idn.c:504,1
    - Dst: free
      Src: /src/libidn/src/idn.c:505,1
    - Dst: error
      Src: /src/libidn/src/idn.c:507,1
    - Dst: _
      Src: /src/libidn/src/idn.c:507,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/src/idn.c:508,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:510,1
    - Dst: free
      Src: /src/libidn/src/idn.c:512,1
    - Dst: stringprep_locale_to_utf8
      Src: /src/libidn/src/idn.c:517,1
    - Dst: error
      Src: /src/libidn/src/idn.c:519,1
    - Dst: _
      Src: /src/libidn/src/idn.c:519,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/src/idn.c:520,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/src/idn.c:526,1
    - Dst: free
      Src: /src/libidn/src/idn.c:529,1
    - Dst: error
      Src: /src/libidn/src/idn.c:530,1
    - Dst: _
      Src: /src/libidn/src/idn.c:531,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:535,1
    - Dst: free
      Src: /src/libidn/src/idn.c:538,1
    - Dst: stringprep_utf8_nfkc_normalize
      Src: /src/libidn/src/idn.c:541,1
    - Dst: free
      Src: /src/libidn/src/idn.c:542,1
    - Dst: error
      Src: /src/libidn/src/idn.c:544,1
    - Dst: _
      Src: /src/libidn/src/idn.c:545,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/src/idn.c:551,1
    - Dst: free
      Src: /src/libidn/src/idn.c:554,1
    - Dst: error
      Src: /src/libidn/src/idn.c:555,1
    - Dst: _
      Src: /src/libidn/src/idn.c:556,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:560,1
    - Dst: free
      Src: /src/libidn/src/idn.c:563,1
    - Dst: stringprep_utf8_to_locale
      Src: /src/libidn/src/idn.c:566,1
    - Dst: free
      Src: /src/libidn/src/idn.c:567,1
    - Dst: error
      Src: /src/libidn/src/idn.c:569,1
    - Dst: _
      Src: /src/libidn/src/idn.c:569,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/src/idn.c:570,1
    - Dst: fprintf
      Src: /src/libidn/src/idn.c:572,1
    - Dst: free
      Src: /src/libidn/src/idn.c:574,1
    - Dst: fflush
      Src: /src/libidn/src/idn.c:577,1
    - Dst: feof
      Src: /src/libidn/src/idn.c:579,1
    - Dst: ferror
      Src: /src/libidn/src/idn.c:579,1
    - Dst: free
      Src: /src/libidn/src/idn.c:582,1
    CyclomaticComplexity: 91
    EdgeCount: 91
    ICount: 248
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 585
      start: 124
    functionDepth: 1
    functionLinenumber: 124
    functionLinenumberEnd: 585
    functionName: main
    functionSourceFile: /src/libidn/src/idn.c
    functionUses: 1
    functionsReached:
    - idna_strerror
    - isatty
    - N_
    - setlocale
    - malloc
    - _
    - fileno
    - bindtextdomain
    - textdomain
    - stringprep_utf8_nfkc_normalize
    - strlen
    - stringprep_strerror
    - free
    - strdup
    - stringprep_ucs4_to_utf8
    - punycode_strerror
    - version_etc
    - punycode_encode
    - tld_check_4z
    - stringprep_locale_to_utf8
    - error
    - stringprep_profile
    - cmdline_parser
    - idna_to_unicode_8z4z
    - ferror
    - fprintf
    - idna_to_ascii_4z
    - tld_strerror
    - feof
    - set_program_name
    - stringprep_utf8_to_ucs4
    - usage
    - stringprep_utf8_to_locale
    - fflush
    - stringprep_locale_charset
    - punycode_decode
    - getline
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/libidn/libc/example.c:53,1
    - Dst: memset
      Src: /src/libidn/libc/example.c:57,1
    - Dst: printf
      Src: /src/libidn/libc/example.c:60,1
    - Dst: getaddrinfo
      Src: /src/libidn/libc/example.c:61,1
    - Dst: printf
      Src: /src/libidn/libc/example.c:63,1
    - Dst: gai_strerror
      Src: /src/libidn/libc/example.c:63,1
    - Dst: printf
      Src: /src/libidn/libc/example.c:65,1
    - Dst: inet_ntoa
      Src: /src/libidn/libc/example.c:67,1
    - Dst: printf
      Src: /src/libidn/libc/example.c:71,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 12
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char*[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 74
      start: 45
    functionDepth: 0
    functionLinenumber: 45
    functionLinenumberEnd: 74
    functionName: main
    functionSourceFile: /src/libidn/libc/example.c
    functionUses: 1
    functionsReached:
    - memset
    - printf
    - setlocale
    - gai_strerror
    - getaddrinfo
    - inet_ntoa
    linkageType: ''
    returnType: int
    signature: int main (int argc, char *argv[])
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strcmp
      Src: /src/libidn/lib/tld.c:68,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 2
    argNames:
    - tld
    - tables
    argTypes:
    - char*
    - Tld_table**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 72
      start: 59
    functionDepth: 0
    functionLinenumber: 59
    functionLinenumberEnd: 72
    functionName: tld_get_table
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 1
    functionsReached:
    - strcmp
    linkageType: ''
    returnType: Tld_table
    signature: 'Tld_table *

      tld_get_table (const char *tld, const Tld_table **tables)'
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tld_get_table
      Src: /src/libidn/lib/tld.c:97,1
    - Dst: tld_get_table
      Src: /src/libidn/lib/tld.c:100,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 2
    argNames:
    - tld
    - overrides
    argTypes:
    - char*
    - Tld_table**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 103
      start: 88
    functionDepth: 1
    functionLinenumber: 88
    functionLinenumberEnd: 103
    functionName: tld_default_table
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 1
    functionsReached:
    - tld_get_table
    linkageType: ''
    returnType: Tld_table
    signature: 'Tld_table *

      tld_default_table (const char *tld, const Tld_table **overrides)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 107
      start: 105
    functionDepth: 0
    functionLinenumber: 105
    functionLinenumberEnd: 107
    functionName: DOTP
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOTP(c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: DOTP
      Src: /src/libidn/lib/tld.c:138,1
    - Dst: malloc
      Src: /src/libidn/lib/tld.c:141,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 19
    argCount: 3
    argNames:
    - in
    - inlen
    - out
    argTypes:
    - uint32_t*
    - size_t
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 157
      start: 121
    functionDepth: 0
    functionLinenumber: 121
    functionLinenumberEnd: 157
    functionName: tld_get_4
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 1
    functionsReached:
    - malloc
    - DOTP
    linkageType: ''
    returnType: int
    signature: int tld_get_4 (const uint32_t *in, size_t inlen, char **out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tld_get_4
      Src: /src/libidn/lib/tld.c:181,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - uint32_t*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 182
      start: 170
    functionDepth: 1
    functionLinenumber: 170
    functionLinenumberEnd: 182
    functionName: tld_get_4z
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 1
    functionsReached:
    - tld_get_4
    linkageType: ''
    returnType: int
    signature: int tld_get_4z (const uint32_t *in, char **out)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libidn/lib/tld.c:203,1
    - Dst: calloc
      Src: /src/libidn/lib/tld.c:204,1
    - Dst: tld_get_4
      Src: /src/libidn/lib/tld.c:212,1
    - Dst: free
      Src: /src/libidn/lib/tld.c:214,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 2
    argNames:
    - in
    - out
    argTypes:
    - char*
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 217
      start: 196
    functionDepth: 1
    functionLinenumber: 196
    functionLinenumberEnd: 217
    functionName: tld_get_z
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 1
    functionsReached:
    - calloc
    - free
    - strlen
    - tld_get_4
    linkageType: ''
    returnType: int
    signature: int tld_get_z (const char *in, char **out)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DOTP
      Src: /src/libidn/lib/tld.c:241,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 16
    argCount: 2
    argNames:
    - ch
    - tld
    argTypes:
    - uint32_t
    - Tld_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 258
      start: 231
    functionDepth: 0
    functionLinenumber: 231
    functionLinenumberEnd: 258
    functionName: _tld_checkchar
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 0
    functionsReached:
    - DOTP
    linkageType: ''
    returnType: int
    signature: int _tld_checkchar (uint32_t ch, const Tld_table *tld)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: _tld_checkchar
      Src: /src/libidn/lib/tld.c:292,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 14
    argCount: 4
    argNames:
    - in
    - inlen
    - errpos
    - tld
    argTypes:
    - uint32_t*
    - size_t
    - size_t*
    - Tld_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 302
      start: 279
    functionDepth: 1
    functionLinenumber: 279
    functionLinenumberEnd: 302
    functionName: tld_check_4t
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 1
    functionsReached:
    - _tld_checkchar
    linkageType: ''
    returnType: int
    signature: "int tld_check_4t (const uint32_t *in, size_t inlen, size_t *errpos,\n\t
      \     const Tld_table *tld)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tld_check_4t
      Src: /src/libidn/lib/tld.c:332,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - in
    - errpos
    - tld
    argTypes:
    - uint32_t*
    - size_t*
    - Tld_table*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 333
      start: 321
    functionDepth: 2
    functionLinenumber: 321
    functionLinenumberEnd: 333
    functionName: tld_check_4tz
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 0
    functionsReached:
    - tld_check_4t
    linkageType: ''
    returnType: int
    signature: int tld_check_4tz (const uint32_t *in, size_t *errpos, const Tld_table
      *tld)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: tld_get_4
      Src: /src/libidn/lib/tld.c:370,1
    - Dst: tld_default_table
      Src: /src/libidn/lib/tld.c:381,1
    - Dst: free
      Src: /src/libidn/lib/tld.c:382,1
    - Dst: tld_check_4t
      Src: /src/libidn/lib/tld.c:384,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 12
    argCount: 4
    argNames:
    - in
    - inlen
    - errpos
    - overrides
    argTypes:
    - uint32_t*
    - size_t
    - size_t*
    - Tld_table**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 385
      start: 358
    functionDepth: 2
    functionLinenumber: 358
    functionLinenumberEnd: 385
    functionName: tld_check_4
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 0
    functionsReached:
    - tld_get_4
    - free
    - tld_check_4t
    - tld_default_table
    linkageType: ''
    returnType: int
    signature: "int tld_check_4 (const uint32_t *in, size_t inlen, size_t *errpos,\n\t
      \    const Tld_table **overrides)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: tld_check_4
      Src: /src/libidn/lib/tld.c:419,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 3
    argNames:
    - in
    - errpos
    - overrides
    argTypes:
    - uint32_t*
    - size_t*
    - Tld_table**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 420
      start: 408
    functionDepth: 3
    functionLinenumber: 408
    functionLinenumberEnd: 420
    functionName: tld_check_4z
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 2
    functionsReached:
    - tld_check_4
    linkageType: ''
    returnType: int
    signature: int tld_check_4z (const uint32_t *in, size_t *errpos, const Tld_table
      **overrides)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/lib/tld.c:455,1
    - Dst: tld_check_4
      Src: /src/libidn/lib/tld.c:460,1
    - Dst: free
      Src: /src/libidn/lib/tld.c:462,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - in
    - errpos
    - overrides
    argTypes:
    - char*
    - size_t*
    - Tld_table**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 465
      start: 445
    functionDepth: 3
    functionLinenumber: 445
    functionLinenumberEnd: 465
    functionName: tld_check_8z
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 1
    functionsReached:
    - tld_check_4
    - free
    - stringprep_utf8_to_ucs4
    linkageType: ''
    returnType: int
    signature: int tld_check_8z (const char *in, size_t *errpos, const Tld_table **overrides)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_locale_to_utf8
      Src: /src/libidn/lib/tld.c:499,1
    - Dst: tld_check_8z
      Src: /src/libidn/lib/tld.c:504,1
    - Dst: free
      Src: /src/libidn/lib/tld.c:506,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - in
    - errpos
    - overrides
    argTypes:
    - char*
    - size_t*
    - Tld_table**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 509
      start: 490
    functionDepth: 4
    functionLinenumber: 490
    functionLinenumberEnd: 509
    functionName: tld_check_lz
    functionSourceFile: /src/libidn/lib/tld.c
    functionUses: 1
    functionsReached:
    - free
    - tld_check_8z
    - stringprep_locale_to_utf8
    linkageType: ''
    returnType: int
    signature: int tld_check_lz (const char *in, size_t *errpos, const Tld_table **overrides)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: _
    functionSourceFile: /src/libidn/lib/strerror-tld.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(String)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: bindtextdomain
      Src: /src/libidn/lib/strerror-tld.c:63,1
    - Dst: _
      Src: /src/libidn/lib/strerror-tld.c:68,1
    - Dst: _
      Src: /src/libidn/lib/strerror-tld.c:72,1
    - Dst: _
      Src: /src/libidn/lib/strerror-tld.c:76,1
    - Dst: _
      Src: /src/libidn/lib/strerror-tld.c:80,1
    - Dst: _
      Src: /src/libidn/lib/strerror-tld.c:84,1
    - Dst: _
      Src: /src/libidn/lib/strerror-tld.c:88,1
    - Dst: _
      Src: /src/libidn/lib/strerror-tld.c:92,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 26
    argCount: 1
    argNames:
    - rc
    argTypes:
    - Tld_rc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 97
      start: 58
    functionDepth: 0
    functionLinenumber: 58
    functionLinenumberEnd: 97
    functionName: tld_strerror
    functionSourceFile: /src/libidn/lib/strerror-tld.c
    functionUses: 2
    functionsReached:
    - bindtextdomain
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      tld_strerror (Tld_rc rc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: _
    functionSourceFile: /src/libidn/lib/strerror-punycode.c
    functionUses: 3
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(String)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: bindtextdomain
      Src: /src/libidn/lib/strerror-punycode.c:61,1
    - Dst: _
      Src: /src/libidn/lib/strerror-punycode.c:66,1
    - Dst: _
      Src: /src/libidn/lib/strerror-punycode.c:70,1
    - Dst: _
      Src: /src/libidn/lib/strerror-punycode.c:74,1
    - Dst: _
      Src: /src/libidn/lib/strerror-punycode.c:78,1
    - Dst: _
      Src: /src/libidn/lib/strerror-punycode.c:82,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 20
    argCount: 1
    argNames:
    - rc
    argTypes:
    - Punycode_status
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 87
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 87
    functionName: punycode_strerror
    functionSourceFile: /src/libidn/lib/strerror-punycode.c
    functionUses: 2
    functionsReached:
    - bindtextdomain
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      punycode_strerror (Punycode_status rc)'
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 6
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1206
      start: 1195
    functionDepth: 0
    functionLinenumber: 1195
    functionLinenumberEnd: 1206
    functionName: first_column
    functionSourceFile: /src/libidn/lib/pr29.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t first_column (uint32_t c)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 2
    argNames:
    - c
    - row
    argTypes:
    - uint32_t
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1218
      start: 1208
    functionDepth: 0
    functionLinenumber: 1208
    functionLinenumberEnd: 1218
    functionName: in_last_column_row
    functionSourceFile: /src/libidn/lib/pr29.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int in_last_column_row (uint32_t c, size_t row)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 5
    argCount: 1
    argNames:
    - c
    argTypes:
    - uint32_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1230
      start: 1220
    functionDepth: 0
    functionLinenumber: 1220
    functionLinenumberEnd: 1230
    functionName: combinationclass
    functionSourceFile: /src/libidn/lib/pr29.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: size_t
    signature: size_t combinationclass (uint32_t c)
  - BBCount: 4
    BranchProfiles: []
    Callsites:
    - Dst: first_column
      Src: /src/libidn/lib/pr29.c:1264,1
    - Dst: combinationclass
      Src: /src/libidn/lib/pr29.c:1266,1
    - Dst: in_last_column_row
      Src: /src/libidn/lib/pr29.c:1268,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 9
    argCount: 2
    argNames:
    - in
    - len
    argTypes:
    - uint32_t*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1272
      start: 1246
    functionDepth: 1
    functionLinenumber: 1246
    functionLinenumberEnd: 1272
    functionName: pr29_4
    functionSourceFile: /src/libidn/lib/pr29.c
    functionUses: 1
    functionsReached:
    - in_last_column_row
    - first_column
    - combinationclass
    linkageType: ''
    returnType: int
    signature: int pr29_4 (const uint32_t *in, size_t len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: pr29_4
      Src: /src/libidn/lib/pr29.c:1295,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 4
    argCount: 1
    argNames:
    - in
    argTypes:
    - uint32_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1296
      start: 1287
    functionDepth: 2
    functionLinenumber: 1287
    functionLinenumberEnd: 1296
    functionName: pr29_4z
    functionSourceFile: /src/libidn/lib/pr29.c
    functionUses: 1
    functionsReached:
    - pr29_4
    linkageType: ''
    returnType: int
    signature: int pr29_4z (const uint32_t *in)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/lib/pr29.c:1318,1
    - Dst: pr29_4z
      Src: /src/libidn/lib/pr29.c:1322,1
    - Dst: free
      Src: /src/libidn/lib/pr29.c:1324,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - in
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1327
      start: 1312
    functionDepth: 3
    functionLinenumber: 1312
    functionLinenumberEnd: 1327
    functionName: pr29_8z
    functionSourceFile: /src/libidn/lib/pr29.c
    functionUses: 1
    functionsReached:
    - free
    - pr29_4z
    - stringprep_utf8_to_ucs4
    linkageType: ''
    returnType: int
    signature: int pr29_8z (const char *in)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: _
    functionSourceFile: /src/libidn/lib/strerror-pr29.c
    functionUses: 4
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(String)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: bindtextdomain
      Src: /src/libidn/lib/strerror-pr29.c:61,1
    - Dst: _
      Src: /src/libidn/lib/strerror-pr29.c:66,1
    - Dst: _
      Src: /src/libidn/lib/strerror-pr29.c:70,1
    - Dst: _
      Src: /src/libidn/lib/strerror-pr29.c:74,1
    - Dst: _
      Src: /src/libidn/lib/strerror-pr29.c:78,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 17
    argCount: 1
    argNames:
    - rc
    argTypes:
    - Pr29_rc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 83
    functionName: pr29_strerror
    functionSourceFile: /src/libidn/lib/strerror-pr29.c
    functionUses: 1
    functionsReached:
    - bindtextdomain
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      pr29_strerror (Pr29_rc rc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - expr
    - ','
    - val
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 57
      start: 53
    functionDepth: 0
    functionLinenumber: 53
    functionLinenumberEnd: 57
    functionName: g_return_val_if_fail
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: g_return_val_if_fail(expr,val)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - arr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: G_N_ELEMENTS
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_N_ELEMENTS(arr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - expr
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 85
    functionName: G_UNLIKELY
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: G_UNLIKELY(expr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - p
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 118
      start: 117
    functionDepth: 0
    functionLinenumber: 117
    functionLinenumberEnd: 118
    functionName: g_utf8_next_char
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: g_utf8_next_char(p)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 7
    argNames:
    - (
    - Char
    - ','
    - Mask
    - ','
    - Len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 170
      start: 137
    functionDepth: 0
    functionLinenumber: 137
    functionLinenumberEnd: 170
    functionName: UTF8_COMPUTE
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTF8_COMPUTE(Char, Mask, Len)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Char
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 177
      start: 171
    functionDepth: 0
    functionLinenumber: 171
    functionLinenumberEnd: 177
    functionName: UTF8_LENGTH
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTF8_LENGTH(Char)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 11
    argNames:
    - (
    - Result
    - ','
    - Chars
    - ','
    - Count
    - ','
    - Mask
    - ','
    - Len
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 190
      start: 178
    functionDepth: 0
    functionLinenumber: 178
    functionLinenumberEnd: 190
    functionName: UTF8_GET
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UTF8_GET(Result, Chars, Count, Mask, Len)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/libidn/lib/nfkc.c:230,1
    - Dst: g_utf8_next_char
      Src: /src/libidn/lib/nfkc.c:234,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 1
    argNames:
    - p
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 239
      start: 225
    functionDepth: 1
    functionLinenumber: 225
    functionLinenumberEnd: 239
    functionName: g_utf8_strlen
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached:
    - g_utf8_next_char
    - g_return_val_if_fail
    linkageType: ''
    returnType: gsize
    signature: gsize g_utf8_strlen (const gchar *p)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_COMPUTE
      Src: /src/libidn/lib/nfkc.c:260,1
    - Dst: UTF8_GET
      Src: /src/libidn/lib/nfkc.c:263,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - p
    argTypes:
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 266
      start: 253
    functionDepth: 1
    functionLinenumber: 253
    functionLinenumberEnd: 266
    functionName: g_utf8_get_char
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached:
    - UTF8_GET
    - UTF8_COMPUTE
    linkageType: ''
    returnType: gunichar
    signature: gunichar g_utf8_get_char (const gchar *p)
  - BBCount: 7
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 32
    argCount: 2
    argNames:
    - c
    - outbuf
    argTypes:
    - gunichar
    - gchar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 329
      start: 279
    functionDepth: 0
    functionLinenumber: 279
    functionLinenumberEnd: 329
    functionName: g_unichar_to_utf8
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int g_unichar_to_utf8 (gunichar c, gchar *outbuf)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: g_return_val_if_fail
      Src: /src/libidn/lib/nfkc.c:355,1
    - Dst: g_utf8_next_char
      Src: /src/libidn/lib/nfkc.c:363,1
    - Dst: g_utf8_next_char
      Src: /src/libidn/lib/nfkc.c:371,1
    - Dst: g_malloc
      Src: /src/libidn/lib/nfkc.c:376,1
    - Dst: G_UNLIKELY
      Src: /src/libidn/lib/nfkc.c:393,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 40
    argCount: 3
    argNames:
    - str
    - len
    - items_written
    argTypes:
    - gchar*
    - gssize
    - gsize*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 422
      start: 348
    functionDepth: 1
    functionLinenumber: 348
    functionLinenumberEnd: 422
    functionName: g_utf8_to_ucs4_fast
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached:
    - g_utf8_next_char
    - g_malloc
    - g_return_val_if_fail
    - G_UNLIKELY
    linkageType: ''
    returnType: gunichar
    signature: 'gunichar *

      g_utf8_to_ucs4_fast (const gchar *str, gssize len, gsize *items_written)'
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: UTF8_LENGTH
      Src: /src/libidn/lib/nfkc.c:465,1
    - Dst: g_malloc
      Src: /src/libidn/lib/nfkc.c:468,1
    - Dst: g_unichar_to_utf8
      Src: /src/libidn/lib/nfkc.c:475,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 25
    argCount: 4
    argNames:
    - str
    - len
    - items_read
    - items_written
    argTypes:
    - gunichar*
    - gsize
    - gsize*
    - gsize*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 487
      start: 447
    functionDepth: 1
    functionLinenumber: 447
    functionLinenumberEnd: 487
    functionName: g_ucs4_to_utf8
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached:
    - g_unichar_to_utf8
    - g_malloc
    - UTF8_LENGTH
    linkageType: ''
    returnType: gchar
    signature: "gchar *\ng_ucs4_to_utf8 (const gunichar *str,\n\t\tgsize len, gsize
      *items_read, gsize *items_written)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Page
    - ','
    - Char
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 514
      start: 510
    functionDepth: 0
    functionLinenumber: 510
    functionLinenumberEnd: 514
    functionName: CC_PART1
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CC_PART1(Page, Char)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Page
    - ','
    - Char
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 519
      start: 515
    functionDepth: 0
    functionLinenumber: 515
    functionLinenumberEnd: 519
    functionName: CC_PART2
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CC_PART2(Page, Char)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Char
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 526
      start: 520
    functionDepth: 0
    functionLinenumber: 520
    functionLinenumberEnd: 526
    functionName: COMBINING_CLASS
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMBINING_CLASS(Char)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: COMBINING_CLASS
      Src: /src/libidn/lib/nfkc.c:558,1
    - Dst: COMBINING_CLASS
      Src: /src/libidn/lib/nfkc.c:561,1
    - Dst: COMBINING_CLASS
      Src: /src/libidn/lib/nfkc.c:569,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 19
    argCount: 2
    argNames:
    - string
    - len
    argTypes:
    - gunichar*
    - gsize
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 583
      start: 548
    functionDepth: 1
    functionLinenumber: 548
    functionLinenumberEnd: 583
    functionName: g_unicode_canonical_ordering
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached:
    - COMBINING_CLASS
    linkageType: ''
    returnType: void
    signature: void g_unicode_canonical_ordering (gunichar *string, gsize len)
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 11
    argCount: 3
    argNames:
    - s
    - r
    - result_len
    argTypes:
    - gunichar
    - gunichar*
    - gsize*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 609
      start: 589
    functionDepth: 0
    functionLinenumber: 589
    functionLinenumberEnd: 609
    functionName: decompose_hangul
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: void
    signature: void decompose_hangul (gunichar s, gunichar *r, gsize *result_len)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: G_N_ELEMENTS
      Src: /src/libidn/lib/nfkc.c:616,1
    CyclomaticComplexity: 10
    EdgeCount: 10
    ICount: 23
    argCount: 2
    argNames:
    - ch
    - compat
    argTypes:
    - gunichar
    - gboolean
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 652
      start: 612
    functionDepth: 1
    functionLinenumber: 612
    functionLinenumberEnd: 652
    functionName: find_decomposition
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached:
    - G_N_ELEMENTS
    linkageType: ''
    returnType: gchar
    signature: 'gchar *

      find_decomposition (gunichar ch, gboolean compat)'
  - BBCount: 4
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 12
    argCount: 3
    argNames:
    - a
    - b
    - result
    argTypes:
    - gunichar
    - gunichar
    - gunichar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 681
      start: 655
    functionDepth: 0
    functionLinenumber: 655
    functionLinenumberEnd: 681
    functionName: combine_hangul
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: gboolean
    signature: gboolean combine_hangul (gunichar a, gunichar b, gunichar *result)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - Page
    - ','
    - Char
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 687
      start: 683
    functionDepth: 0
    functionLinenumber: 683
    functionLinenumberEnd: 687
    functionName: CI
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: CI(Page, Char)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - Char
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 690
      start: 688
    functionDepth: 0
    functionLinenumber: 688
    functionLinenumberEnd: 690
    functionName: COMPOSE_INDEX
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: COMPOSE_INDEX(Char)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: combine_hangul
      Src: /src/libidn/lib/nfkc.c:696,1
    - Dst: COMPOSE_INDEX
      Src: /src/libidn/lib/nfkc.c:699,1
    - Dst: COMPOSE_INDEX
      Src: /src/libidn/lib/nfkc.c:713,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 26
    argCount: 3
    argNames:
    - a
    - b
    - result
    argTypes:
    - gunichar
    - gunichar
    - gunichar*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 744
      start: 691
    functionDepth: 1
    functionLinenumber: 691
    functionLinenumberEnd: 744
    functionName: combine
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached:
    - combine_hangul
    - COMPOSE_INDEX
    linkageType: ''
    returnType: gboolean
    signature: gboolean combine (gunichar a, gunichar b, gunichar *result)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char
      Src: /src/libidn/lib/nfkc.c:761,1
    - Dst: decompose_hangul
      Src: /src/libidn/lib/nfkc.c:766,1
    - Dst: find_decomposition
      Src: /src/libidn/lib/nfkc.c:771,1
    - Dst: g_utf8_strlen
      Src: /src/libidn/lib/nfkc.c:774,1
    - Dst: g_utf8_next_char
      Src: /src/libidn/lib/nfkc.c:779,1
    - Dst: g_malloc
      Src: /src/libidn/lib/nfkc.c:782,1
    - Dst: g_utf8_get_char
      Src: /src/libidn/lib/nfkc.c:791,1
    - Dst: decompose_hangul
      Src: /src/libidn/lib/nfkc.c:799,1
    - Dst: find_decomposition
      Src: /src/libidn/lib/nfkc.c:804,1
    - Dst: g_utf8_next_char
      Src: /src/libidn/lib/nfkc.c:809,1
    - Dst: g_utf8_get_char
      Src: /src/libidn/lib/nfkc.c:810,1
    - Dst: COMBINING_CLASS
      Src: /src/libidn/lib/nfkc.c:818,1
    - Dst: g_unicode_canonical_ordering
      Src: /src/libidn/lib/nfkc.c:822,1
    - Dst: g_utf8_next_char
      Src: /src/libidn/lib/nfkc.c:828,1
    - Dst: g_unicode_canonical_ordering
      Src: /src/libidn/lib/nfkc.c:833,1
    - Dst: COMBINING_CLASS
      Src: /src/libidn/lib/nfkc.c:850,1
    - Dst: combine
      Src: /src/libidn/lib/nfkc.c:854,1
    - Dst: COMBINING_CLASS
      Src: /src/libidn/lib/nfkc.c:865,1
    CyclomaticComplexity: 30
    EdgeCount: 30
    ICount: 66
    argCount: 3
    argNames:
    - str
    - max_len
    - mode
    argTypes:
    - gchar*
    - gssize
    - GNormalizeMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 880
      start: 746
    functionDepth: 2
    functionLinenumber: 746
    functionLinenumberEnd: 880
    functionName: _g_utf8_normalize_wc
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached:
    - g_utf8_strlen
    - g_utf8_get_char
    - find_decomposition
    - decompose_hangul
    - COMBINING_CLASS
    - g_malloc
    - g_utf8_next_char
    - g_unicode_canonical_ordering
    - combine
    linkageType: ''
    returnType: gunichar
    signature: 'gunichar *

      _g_utf8_normalize_wc (const gchar *str, gssize max_len, GNormalizeMode mode)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: _g_utf8_normalize_wc
      Src: /src/libidn/lib/nfkc.c:921,1
    - Dst: g_ucs4_to_utf8
      Src: /src/libidn/lib/nfkc.c:925,1
    - Dst: g_free
      Src: /src/libidn/lib/nfkc.c:927,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 5
    argCount: 3
    argNames:
    - str
    - len
    - mode
    argTypes:
    - gchar*
    - gssize
    - GNormalizeMode
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 930
      start: 918
    functionDepth: 3
    functionLinenumber: 918
    functionLinenumberEnd: 930
    functionName: g_utf8_normalize
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached:
    - g_ucs4_to_utf8
    - g_free
    - _g_utf8_normalize_wc
    linkageType: ''
    returnType: gchar
    signature: 'gchar *

      g_utf8_normalize (const gchar *str, gssize len, GNormalizeMode mode)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_utf8_get_char
      Src: /src/libidn/lib/nfkc.c:947,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - p
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 948
      start: 944
    functionDepth: 2
    functionLinenumber: 944
    functionLinenumberEnd: 948
    functionName: stringprep_utf8_to_unichar
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 0
    functionsReached:
    - g_utf8_get_char
    linkageType: ''
    returnType: uint32_t
    signature: uint32_t stringprep_utf8_to_unichar (const char *p)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_unichar_to_utf8
      Src: /src/libidn/lib/nfkc.c:964,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - c
    - outbuf
    argTypes:
    - uint32_t
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 965
      start: 961
    functionDepth: 1
    functionLinenumber: 961
    functionLinenumberEnd: 965
    functionName: stringprep_unichar_to_utf8
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 1
    functionsReached:
    - g_unichar_to_utf8
    linkageType: ''
    returnType: int
    signature: int stringprep_unichar_to_utf8 (uint32_t c, char *outbuf)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libidn/lib/nfkc.c:991,1
    - Dst: u8_check
      Src: /src/libidn/lib/nfkc.c:995,1
    - Dst: g_utf8_to_ucs4_fast
      Src: /src/libidn/lib/nfkc.c:998,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 3
    argNames:
    - str
    - len
    - items_written
    argTypes:
    - char*
    - ssize_t
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 999
      start: 985
    functionDepth: 2
    functionLinenumber: 985
    functionLinenumberEnd: 999
    functionName: stringprep_utf8_to_ucs4
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 8
    functionsReached:
    - strlen
    - u8_check
    - g_utf8_to_ucs4_fast
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      stringprep_utf8_to_ucs4 (const char *str, ssize_t len, size_t *items_written)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: g_ucs4_to_utf8
      Src: /src/libidn/lib/nfkc.c:1022,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 4
    argNames:
    - str
    - len
    - items_read
    - items_written
    argTypes:
    - uint32_t*
    - ssize_t
    - size_t*
    - size_t*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1023
      start: 1018
    functionDepth: 2
    functionLinenumber: 1018
    functionLinenumberEnd: 1023
    functionName: stringprep_ucs4_to_utf8
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 3
    functionsReached:
    - g_ucs4_to_utf8
    linkageType: ''
    returnType: char
    signature: "char *\nstringprep_ucs4_to_utf8 (const uint32_t *str, ssize_t len,\n\t\t\t
      size_t *items_read, size_t *items_written)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libidn/lib/nfkc.c:1053,1
    - Dst: u8_check
      Src: /src/libidn/lib/nfkc.c:1057,1
    - Dst: g_utf8_normalize
      Src: /src/libidn/lib/nfkc.c:1060,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - char*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1061
      start: 1047
    functionDepth: 4
    functionLinenumber: 1047
    functionLinenumberEnd: 1061
    functionName: stringprep_utf8_nfkc_normalize
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 3
    functionsReached:
    - g_utf8_normalize
    - strlen
    - u8_check
    linkageType: ''
    returnType: char
    signature: 'char *

      stringprep_utf8_nfkc_normalize (const char *str, ssize_t len)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_ucs4_to_utf8
      Src: /src/libidn/lib/nfkc.c:1081,1
    - Dst: _g_utf8_normalize_wc
      Src: /src/libidn/lib/nfkc.c:1085,1
    - Dst: free
      Src: /src/libidn/lib/nfkc.c:1086,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 2
    argNames:
    - str
    - len
    argTypes:
    - uint32_t*
    - ssize_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 1089
      start: 1075
    functionDepth: 3
    functionLinenumber: 1075
    functionLinenumberEnd: 1089
    functionName: stringprep_ucs4_nfkc_normalize
    functionSourceFile: /src/libidn/lib/nfkc.c
    functionUses: 1
    functionsReached:
    - free
    - stringprep_ucs4_to_utf8
    - _g_utf8_normalize_wc
    linkageType: ''
    returnType: uint32_t
    signature: 'uint32_t *

      stringprep_ucs4_nfkc_normalize (const uint32_t *str, ssize_t len)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - c
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 46
      start: 44
    functionDepth: 0
    functionLinenumber: 44
    functionLinenumberEnd: 46
    functionName: DOTP
    functionSourceFile: /src/libidn/lib/idna.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: DOTP(c)
  - BBCount: 20
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libidn/lib/idna.c:104,1
    - Dst: memcpy
      Src: /src/libidn/lib/idna.c:108,1
    - Dst: stringprep_ucs4_to_utf8
      Src: /src/libidn/lib/idna.c:123,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:127,1
    - Dst: realloc
      Src: /src/libidn/lib/idna.c:133,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:136,1
    - Dst: stringprep_nameprep
      Src: /src/libidn/lib/idna.c:142,1
    - Dst: stringprep_nameprep_no_unassigned
      Src: /src/libidn/lib/idna.c:144,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:150,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/lib/idna.c:154,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:156,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:184,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:190,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:217,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:234,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:239,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:251,1
    - Dst: punycode_encode
      Src: /src/libidn/lib/idna.c:252,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:253,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:256,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:259,1
    - Dst: memcpy
      Src: /src/libidn/lib/idna.c:265,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:265,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:273,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:274,1
    CyclomaticComplexity: 38
    EdgeCount: 38
    ICount: 95
    argCount: 4
    argNames:
    - in
    - inlen
    - out
    - flags
    argTypes:
    - uint32_t*
    - size_t
    - char*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 278
      start: 80
    functionDepth: 3
    functionLinenumber: 80
    functionLinenumberEnd: 278
    functionName: idna_to_ascii_4i
    functionSourceFile: /src/libidn/lib/idna.c
    functionUses: 1
    functionsReached:
    - stringprep_utf8_to_ucs4
    - strlen
    - realloc
    - stringprep_nameprep_no_unassigned
    - free
    - stringprep_ucs4_to_utf8
    - malloc
    - memcpy
    - stringprep_nameprep
    - punycode_encode
    linkageType: ''
    returnType: int
    signature: int idna_to_ascii_4i (const uint32_t *in, size_t inlen, char *out,
      int flags)
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:287,1
    - Dst: realloc
      Src: /src/libidn/lib/idna.c:317,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:320,1
    - Dst: stringprep_nameprep
      Src: /src/libidn/lib/idna.c:325,1
    - Dst: stringprep_nameprep_no_unassigned
      Src: /src/libidn/lib/idna.c:327,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:335,1
    - Dst: c_strncasecmp
      Src: /src/libidn/lib/idna.c:346,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:346,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:348,1
    - Dst: memmove
      Src: /src/libidn/lib/idna.c:355,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:355,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:356,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:356,1
    - Dst: punycode_decode
      Src: /src/libidn/lib/idna.c:365,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:365,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:368,1
    - Dst: idna_to_ascii_4i
      Src: /src/libidn/lib/idna.c:377,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:380,1
    - Dst: c_strcasecmp
      Src: /src/libidn/lib/idna.c:388,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:388,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:390,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:397,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 50
    argCount: 4
    argNames:
    - utf8in
    - out
    - outlen
    - flags
    argTypes:
    - char*
    - uint32_t*
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 399
      start: 281
    functionDepth: 4
    functionLinenumber: 281
    functionLinenumberEnd: 399
    functionName: idna_to_unicode_internal
    functionSourceFile: /src/libidn/lib/idna.c
    functionUses: 0
    functionsReached:
    - c_strncasecmp
    - strlen
    - c_strcasecmp
    - realloc
    - stringprep_nameprep_no_unassigned
    - idna_to_ascii_4i
    - free
    - punycode_decode
    - stringprep_nameprep
    - memmove
    linkageType: ''
    returnType: int
    signature: "int idna_to_unicode_internal (char *utf8in,\n\t\t\t  uint32_t *out,
      size_t *outlen, int flags)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_ucs4_to_utf8
      Src: /src/libidn/lib/idna.c:444,1
    - Dst: idna_to_unicode_internal
      Src: /src/libidn/lib/idna.c:448,1
    - Dst: memcpy
      Src: /src/libidn/lib/idna.c:451,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 10
    argCount: 5
    argNames:
    - in
    - inlen
    - out
    - outlen
    - flags
    argTypes:
    - uint32_t*
    - size_t
    - uint32_t*
    - size_t*
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 459
      start: 436
    functionDepth: 5
    functionLinenumber: 436
    functionLinenumberEnd: 459
    functionName: idna_to_unicode_44i
    functionSourceFile: /src/libidn/lib/idna.c
    functionUses: 1
    functionsReached:
    - stringprep_ucs4_to_utf8
    - idna_to_unicode_internal
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int idna_to_unicode_44i (const uint32_t *in, size_t inlen,\n\t\t     uint32_t
      *out, size_t *outlen, int flags)"
  - BBCount: 10
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libidn/lib/idna.c:493,1
    - Dst: strcpy
      Src: /src/libidn/lib/idna.c:496,1
    - Dst: DOTP
      Src: /src/libidn/lib/idna.c:500,1
    - Dst: malloc
      Src: /src/libidn/lib/idna.c:503,1
    - Dst: strcpy
      Src: /src/libidn/lib/idna.c:506,1
    - Dst: DOTP
      Src: /src/libidn/lib/idna.c:515,1
    - Dst: idna_to_ascii_4i
      Src: /src/libidn/lib/idna.c:525,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:528,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:535,1
    - Dst: strlen
      Src: /src/libidn/lib/idna.c:535,1
    - Dst: realloc
      Src: /src/libidn/lib/idna.c:536,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:539,1
    - Dst: strcat
      Src: /src/libidn/lib/idna.c:543,1
    - Dst: strcat
      Src: /src/libidn/lib/idna.c:544,1
    - Dst: strdup
      Src: /src/libidn/lib/idna.c:548,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 46
    argCount: 3
    argNames:
    - input
    - output
    - flags
    argTypes:
    - uint32_t*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 560
      start: 476
    functionDepth: 4
    functionLinenumber: 476
    functionLinenumberEnd: 560
    functionName: idna_to_ascii_4z
    functionSourceFile: /src/libidn/lib/idna.c
    functionUses: 2
    functionsReached:
    - DOTP
    - strlen
    - realloc
    - strcat
    - idna_to_ascii_4i
    - free
    - strdup
    - malloc
    - strcpy
    linkageType: ''
    returnType: int
    signature: int idna_to_ascii_4z (const uint32_t *input, char **output, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/lib/idna.c:582,1
    - Dst: idna_to_ascii_4z
      Src: /src/libidn/lib/idna.c:586,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:588,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - input
    - output
    - flags
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 592
      start: 575
    functionDepth: 5
    functionLinenumber: 575
    functionLinenumberEnd: 592
    functionName: idna_to_ascii_8z
    functionSourceFile: /src/libidn/lib/idna.c
    functionUses: 3
    functionsReached:
    - free
    - stringprep_utf8_to_ucs4
    - idna_to_ascii_4z
    linkageType: ''
    returnType: int
    signature: int idna_to_ascii_8z (const char *input, char **output, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_locale_to_utf8
      Src: /src/libidn/lib/idna.c:614,1
    - Dst: idna_to_ascii_8z
      Src: /src/libidn/lib/idna.c:618,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:620,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - input
    - output
    - flags
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 623
      start: 608
    functionDepth: 6
    functionLinenumber: 608
    functionLinenumberEnd: 623
    functionName: idna_to_ascii_lz
    functionSourceFile: /src/libidn/lib/idna.c
    functionUses: 0
    functionsReached:
    - free
    - stringprep_locale_to_utf8
    - idna_to_ascii_8z
    linkageType: ''
    returnType: int
    signature: int idna_to_ascii_lz (const char *input, char **output, int flags)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: DOTP
      Src: /src/libidn/lib/idna.c:656,1
    - Dst: malloc
      Src: /src/libidn/lib/idna.c:660,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:663,1
    - Dst: idna_to_unicode_44i
      Src: /src/libidn/lib/idna.c:669,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:673,1
    - Dst: realloc
      Src: /src/libidn/lib/idna.c:679,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:684,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:685,1
    - Dst: memcpy
      Src: /src/libidn/lib/idna.c:690,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:693,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 38
    argCount: 3
    argNames:
    - input
    - output
    - flags
    argTypes:
    - uint32_t*
    - uint32_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 709
      start: 639
    functionDepth: 6
    functionLinenumber: 639
    functionLinenumberEnd: 709
    functionName: idna_to_unicode_4z4z
    functionSourceFile: /src/libidn/lib/idna.c
    functionUses: 0
    functionsReached:
    - DOTP
    - realloc
    - free
    - malloc
    - memcpy
    - idna_to_unicode_44i
    linkageType: ''
    returnType: int
    signature: int idna_to_unicode_4z4z (const uint32_t *input, uint32_t **output,
      int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/lib/idna.c:732,1
    - Dst: idna_to_unicode_4z4z
      Src: /src/libidn/lib/idna.c:736,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:737,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - input
    - output
    - flags
    argTypes:
    - char*
    - uint32_t**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 740
      start: 725
    functionDepth: 7
    functionLinenumber: 725
    functionLinenumberEnd: 740
    functionName: idna_to_unicode_8z4z
    functionSourceFile: /src/libidn/lib/idna.c
    functionUses: 1
    functionsReached:
    - free
    - stringprep_utf8_to_ucs4
    - idna_to_unicode_4z4z
    linkageType: ''
    returnType: int
    signature: int idna_to_unicode_8z4z (const char *input, uint32_t **output, int
      flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idna_to_unicode_8z4z
      Src: /src/libidn/lib/idna.c:762,1
    - Dst: stringprep_ucs4_to_utf8
      Src: /src/libidn/lib/idna.c:766,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:767,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - output
    - flags
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 773
      start: 756
    functionDepth: 8
    functionLinenumber: 756
    functionLinenumberEnd: 773
    functionName: idna_to_unicode_8z8z
    functionSourceFile: /src/libidn/lib/idna.c
    functionUses: 2
    functionsReached:
    - free
    - stringprep_ucs4_to_utf8
    - idna_to_unicode_8z4z
    linkageType: ''
    returnType: int
    signature: int idna_to_unicode_8z8z (const char *input, char **output, int flags)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: idna_to_unicode_8z8z
      Src: /src/libidn/lib/idna.c:796,1
    - Dst: stringprep_utf8_to_locale
      Src: /src/libidn/lib/idna.c:800,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:801,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 9
    argCount: 3
    argNames:
    - input
    - output
    - flags
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 807
      start: 790
    functionDepth: 9
    functionLinenumber: 790
    functionLinenumberEnd: 807
    functionName: idna_to_unicode_8zlz
    functionSourceFile: /src/libidn/lib/idna.c
    functionUses: 0
    functionsReached:
    - free
    - idna_to_unicode_8z8z
    - stringprep_utf8_to_locale
    linkageType: ''
    returnType: int
    signature: int idna_to_unicode_8zlz (const char *input, char **output, int flags)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_locale_to_utf8
      Src: /src/libidn/lib/idna.c:831,1
    - Dst: idna_to_unicode_8zlz
      Src: /src/libidn/lib/idna.c:835,1
    - Dst: free
      Src: /src/libidn/lib/idna.c:836,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - input
    - output
    - flags
    argTypes:
    - char*
    - char**
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 839
      start: 825
    functionDepth: 10
    functionLinenumber: 825
    functionLinenumberEnd: 839
    functionName: idna_to_unicode_lzlz
    functionSourceFile: /src/libidn/lib/idna.c
    functionUses: 0
    functionsReached:
    - free
    - idna_to_unicode_8zlz
    - stringprep_locale_to_utf8
    linkageType: ''
    returnType: int
    signature: int idna_to_unicode_lzlz (const char *input, char **output, int flags)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: _
    functionSourceFile: /src/libidn/lib/strerror-stringprep.c
    functionUses: 5
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(String)
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: bindtextdomain
      Src: /src/libidn/lib/strerror-stringprep.c:82,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:87,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:91,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:95,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:99,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:103,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:107,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:111,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:115,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:119,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:123,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:127,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:131,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:135,1
    - Dst: _
      Src: /src/libidn/lib/strerror-stringprep.c:139,1
    CyclomaticComplexity: 15
    EdgeCount: 15
    ICount: 47
    argCount: 1
    argNames:
    - rc
    argTypes:
    - Stringprep_rc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 144
      start: 77
    functionDepth: 0
    functionLinenumber: 77
    functionLinenumberEnd: 144
    functionName: stringprep_strerror
    functionSourceFile: /src/libidn/lib/strerror-stringprep.c
    functionUses: 2
    functionsReached:
    - bindtextdomain
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      stringprep_strerror (Stringprep_rc rc)'
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 2
    argNames:
    - (
    - )
    argTypes:
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 63
      start: 62
    functionDepth: 0
    functionLinenumber: 62
    functionLinenumberEnd: 63
    functionName: stringprep_locale_charset
    functionSourceFile: /src/libidn/lib/toutf8.c
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stringprep_locale_charset()
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: getenv
      Src: /src/libidn/lib/toutf8.c:87,1
    - Dst: nl_langinfo
      Src: /src/libidn/lib/toutf8.c:93,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 7
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 100
      start: 84
    functionDepth: 0
    functionLinenumber: 84
    functionLinenumberEnd: 100
    functionName: stringprep_locale_charset
    functionSourceFile: /src/libidn/lib/toutf8.c
    functionUses: 2
    functionsReached:
    - nl_langinfo
    - getenv
    linkageType: ''
    returnType: char
    signature: 'char *

      stringprep_locale_charset (void)'
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: str_iconv
      Src: /src/libidn/lib/toutf8.c:120,1
    - Dst: fprintf
      Src: /src/libidn/lib/toutf8.c:125,1
    - Dst: malloc
      Src: /src/libidn/lib/toutf8.c:127,1
    - Dst: strlen
      Src: /src/libidn/lib/toutf8.c:127,1
    - Dst: strcpy
      Src: /src/libidn/lib/toutf8.c:130,1
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 9
    argCount: 3
    argNames:
    - str
    - to_codeset
    - from_codeset
    argTypes:
    - char*
    - char*
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 132
      start: 115
    functionDepth: 0
    functionLinenumber: 115
    functionLinenumberEnd: 132
    functionName: stringprep_convert
    functionSourceFile: /src/libidn/lib/toutf8.c
    functionUses: 0
    functionsReached:
    - strlen
    - malloc
    - fprintf
    - str_iconv
    - strcpy
    linkageType: ''
    returnType: char
    signature: "char *\nstringprep_convert (const char *str,\n\t\t    const char *to_codeset,
      const char *from_codeset)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_convert
      Src: /src/libidn/lib/toutf8.c:147,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/lib/toutf8.c:147,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 144
    functionDepth: 1
    functionLinenumber: 144
    functionLinenumberEnd: 148
    functionName: stringprep_locale_to_utf8
    functionSourceFile: /src/libidn/lib/toutf8.c
    functionUses: 5
    functionsReached:
    - stringprep_convert
    - stringprep_locale_charset
    linkageType: ''
    returnType: char
    signature: 'char *

      stringprep_locale_to_utf8 (const char *str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_convert
      Src: /src/libidn/lib/toutf8.c:163,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/lib/toutf8.c:163,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - str
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 164
      start: 160
    functionDepth: 1
    functionLinenumber: 160
    functionLinenumberEnd: 164
    functionName: stringprep_utf8_to_locale
    functionSourceFile: /src/libidn/lib/toutf8.c
    functionUses: 3
    functionsReached:
    - stringprep_convert
    - stringprep_locale_charset
    linkageType: ''
    returnType: char
    signature: 'char *

      stringprep_utf8_to_locale (const char *str)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: free
      Src: /src/libidn/lib/idn-free.c:54,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - ptr
    argTypes:
    - void*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 55
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 55
    functionName: idn_free
    functionSourceFile: /src/libidn/lib/idn-free.c
    functionUses: 4
    functionsReached:
    - free
    linkageType: ''
    returnType: void
    signature: void idn_free (void *ptr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - String
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 38
      start: 37
    functionDepth: 0
    functionLinenumber: 37
    functionLinenumberEnd: 38
    functionName: _
    functionSourceFile: /src/libidn/lib/strerror-idna.c
    functionUses: 6
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: _(String)
  - BBCount: 14
    BranchProfiles: []
    Callsites:
    - Dst: bindtextdomain
      Src: /src/libidn/lib/strerror-idna.c:77,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:82,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:86,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:90,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:94,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:98,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:102,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:106,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:110,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:114,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:118,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:122,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:126,1
    - Dst: _
      Src: /src/libidn/lib/strerror-idna.c:130,1
    CyclomaticComplexity: 14
    EdgeCount: 14
    ICount: 44
    argCount: 1
    argNames:
    - rc
    argTypes:
    - Idna_rc
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 135
      start: 72
    functionDepth: 0
    functionLinenumber: 72
    functionLinenumberEnd: 135
    functionName: idna_strerror
    functionSourceFile: /src/libidn/lib/strerror-idna.c
    functionUses: 2
    functionsReached:
    - bindtextdomain
    - _
    linkageType: ''
    returnType: char
    signature: 'char *

      idna_strerror (Idna_rc rc)'
  - BBCount: 3
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 6
    argCount: 2
    argNames:
    - c
    - e
    argTypes:
    - uint32_t*
    - Stringprep_table_element*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 47
      start: 39
    functionDepth: 0
    functionLinenumber: 39
    functionLinenumberEnd: 47
    functionName: _compare_table_element
    functionSourceFile: /src/libidn/lib/stringprep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int _compare_table_element (const uint32_t *c, const Stringprep_table_element
      *e)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: bsearch
      Src: /src/libidn/lib/stringprep.c:81,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 3
    argNames:
    - ucs4
    - table
    - table_size
    argTypes:
    - uint32_t
    - Stringprep_table_element*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 85
      start: 49
    functionDepth: 0
    functionLinenumber: 49
    functionLinenumberEnd: 85
    functionName: stringprep_find_character_in_table
    functionSourceFile: /src/libidn/lib/stringprep.c
    functionUses: 0
    functionsReached:
    - bsearch
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t stringprep_find_character_in_table (uint32_t ucs4,\n\t\t\t\t
      \   const Stringprep_table_element *table,\n\t\t\t\t    size_t table_size)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_find_character_in_table
      Src: /src/libidn/lib/stringprep.c:99,1
    CyclomaticComplexity: 3
    EdgeCount: 3
    ICount: 8
    argCount: 5
    argNames:
    - ucs4
    - ucs4len
    - tablepos
    - table
    - table_size
    argTypes:
    - uint32_t*
    - size_t
    - size_t*
    - Stringprep_table_element*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 108
      start: 87
    functionDepth: 1
    functionLinenumber: 87
    functionLinenumberEnd: 108
    functionName: stringprep_find_string_in_table
    functionSourceFile: /src/libidn/lib/stringprep.c
    functionUses: 0
    functionsReached:
    - stringprep_find_character_in_table
    linkageType: ''
    returnType: ssize_t
    signature: "ssize_t stringprep_find_string_in_table (uint32_t *ucs4,\n\t\t\t\t
      size_t ucs4len,\n\t\t\t\t size_t *tablepos,\n\t\t\t\t const Stringprep_table_element
      *table,\n\t\t\t\t size_t table_size)"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_find_string_in_table
      Src: /src/libidn/lib/stringprep.c:122,1
    - Dst: memmove
      Src: /src/libidn/lib/stringprep.c:133,1
    - Dst: memcpy
      Src: /src/libidn/lib/stringprep.c:135,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 13
    argCount: 5
    argNames:
    - ucs4
    - ucs4len
    - maxucs4len
    - table
    - table_size
    argTypes:
    - uint32_t*
    - size_t*
    - size_t
    - Stringprep_table_element*
    - size_t
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 142
      start: 110
    functionDepth: 2
    functionLinenumber: 110
    functionLinenumberEnd: 142
    functionName: stringprep_apply_table_to_string
    functionSourceFile: /src/libidn/lib/stringprep.c
    functionUses: 0
    functionsReached:
    - stringprep_find_string_in_table
    - memmove
    - memcpy
    linkageType: ''
    returnType: int
    signature: "int stringprep_apply_table_to_string (uint32_t *ucs4,\n\t\t\t\t  size_t
      *ucs4len,\n\t\t\t\t  size_t maxucs4len,\n\t\t\t\t  const Stringprep_table_element
      *table,\n\t\t\t\t  size_t table_size)"
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 145
      start: 144
    functionDepth: 0
    functionLinenumber: 144
    functionLinenumberEnd: 145
    functionName: INVERTED
    functionSourceFile: /src/libidn/lib/stringprep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: INVERTED(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - flags
    - ','
    - profileflags
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 148
      start: 145
    functionDepth: 0
    functionLinenumber: 145
    functionLinenumberEnd: 148
    functionName: UNAPPLICAPLEFLAGS
    functionSourceFile: /src/libidn/lib/stringprep.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: UNAPPLICAPLEFLAGS(flags, profileflags)
  - BBCount: 30
    BranchProfiles: []
    Callsites:
    - Dst: UNAPPLICAPLEFLAGS
      Src: /src/libidn/lib/stringprep.c:198,1
    - Dst: stringprep_ucs4_nfkc_normalize
      Src: /src/libidn/lib/stringprep.c:205,1
    - Dst: free
      Src: /src/libidn/lib/stringprep.c:214,1
    - Dst: memcpy
      Src: /src/libidn/lib/stringprep.c:218,1
    - Dst: free
      Src: /src/libidn/lib/stringprep.c:220,1
    - Dst: stringprep_find_string_in_table
      Src: /src/libidn/lib/stringprep.c:225,1
    - Dst: UNAPPLICAPLEFLAGS
      Src: /src/libidn/lib/stringprep.c:233,1
    - Dst: stringprep_find_string_in_table
      Src: /src/libidn/lib/stringprep.c:237,1
    - Dst: UNAPPLICAPLEFLAGS
      Src: /src/libidn/lib/stringprep.c:246,1
    - Dst: stringprep_apply_table_to_string
      Src: /src/libidn/lib/stringprep.c:248,1
    - Dst: stringprep_find_string_in_table
      Src: /src/libidn/lib/stringprep.c:272,1
    - Dst: stringprep_find_string_in_table
      Src: /src/libidn/lib/stringprep.c:282,1
    - Dst: stringprep_find_string_in_table
      Src: /src/libidn/lib/stringprep.c:290,1
    - Dst: stringprep_find_character_in_table
      Src: /src/libidn/lib/stringprep.c:304,1
    - Dst: stringprep_find_character_in_table
      Src: /src/libidn/lib/stringprep.c:308,1
    CyclomaticComplexity: 39
    EdgeCount: 39
    ICount: 81
    argCount: 5
    argNames:
    - ucs4
    - len
    - maxucs4len
    - flags
    - profile
    argTypes:
    - uint32_t*
    - size_t*
    - size_t
    - Stringprep_profile_flags
    - Stringprep_profile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 328
      start: 180
    functionDepth: 4
    functionLinenumber: 180
    functionLinenumberEnd: 328
    functionName: stringprep_4i
    functionSourceFile: /src/libidn/lib/stringprep.c
    functionUses: 0
    functionsReached:
    - stringprep_find_character_in_table
    - UNAPPLICAPLEFLAGS
    - stringprep_find_string_in_table
    - free
    - stringprep_ucs4_nfkc_normalize
    - memcpy
    - stringprep_apply_table_to_string
    linkageType: ''
    returnType: int
    signature: "int stringprep_4i (uint32_t *ucs4, size_t *len, size_t maxucs4len,\n\t
      \      Stringprep_profile_flags flags,\n\t       const Stringprep_profile *profile)"
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_4i
      Src: /src/libidn/lib/stringprep.c:337,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 5
    argNames:
    - ucs4
    - ucs4len
    - maxucs4len
    - flags
    - profile
    argTypes:
    - uint32_t*
    - size_t
    - size_t
    - Stringprep_profile_flags
    - Stringprep_profile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 347
      start: 330
    functionDepth: 5
    functionLinenumber: 330
    functionLinenumberEnd: 347
    functionName: stringprep_4zi_1
    functionSourceFile: /src/libidn/lib/stringprep.c
    functionUses: 0
    functionsReached:
    - stringprep_4i
    linkageType: ''
    returnType: int
    signature: "int stringprep_4zi_1 (uint32_t *ucs4, size_t ucs4len, size_t maxucs4len,\n\t\t
      \ Stringprep_profile_flags flags,\n\t\t  const Stringprep_profile *profile)"
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: stringprep_4zi_1
      Src: /src/libidn/lib/stringprep.c:383,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 4
    argNames:
    - ucs4
    - maxucs4len
    - flags
    - profile
    argTypes:
    - uint32_t*
    - size_t
    - Stringprep_profile_flags
    - Stringprep_profile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 384
      start: 373
    functionDepth: 6
    functionLinenumber: 373
    functionLinenumberEnd: 384
    functionName: stringprep_4zi
    functionSourceFile: /src/libidn/lib/stringprep.c
    functionUses: 0
    functionsReached:
    - stringprep_4zi_1
    linkageType: ''
    returnType: int
    signature: "int stringprep_4zi (uint32_t *ucs4, size_t maxucs4len,\n\t\tStringprep_profile_flags
      flags,\n\t\tconst Stringprep_profile *profile)"
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libidn/lib/stringprep.c:421,1
    - Dst: free
      Src: /src/libidn/lib/stringprep.c:427,1
    - Dst: stringprep_utf8_to_ucs4
      Src: /src/libidn/lib/stringprep.c:428,1
    - Dst: realloc
      Src: /src/libidn/lib/stringprep.c:432,1
    - Dst: free
      Src: /src/libidn/lib/stringprep.c:435,1
    - Dst: stringprep_4i
      Src: /src/libidn/lib/stringprep.c:440,1
    - Dst: free
      Src: /src/libidn/lib/stringprep.c:446,1
    - Dst: stringprep_ucs4_to_utf8
      Src: /src/libidn/lib/stringprep.c:450,1
    - Dst: free
      Src: /src/libidn/lib/stringprep.c:451,1
    - Dst: strlen
      Src: /src/libidn/lib/stringprep.c:455,1
    - Dst: free
      Src: /src/libidn/lib/stringprep.c:457,1
    - Dst: strcpy
      Src: /src/libidn/lib/stringprep.c:461,1
    - Dst: free
      Src: /src/libidn/lib/stringprep.c:463,1
    CyclomaticComplexity: 6
    EdgeCount: 6
    ICount: 31
    argCount: 4
    argNames:
    - in
    - maxlen
    - flags
    - profile
    argTypes:
    - char*
    - size_t
    - Stringprep_profile_flags
    - Stringprep_profile*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 466
      start: 413
    functionDepth: 5
    functionLinenumber: 413
    functionLinenumberEnd: 466
    functionName: stringprep
    functionSourceFile: /src/libidn/lib/stringprep.c
    functionUses: 0
    functionsReached:
    - stringprep_utf8_to_ucs4
    - strlen
    - realloc
    - free
    - stringprep_ucs4_to_utf8
    - stringprep_4i
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int stringprep (char *in,\n\t    size_t maxlen,\n\t    Stringprep_profile_flags
      flags, const Stringprep_profile *profile)"
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strlen
      Src: /src/libidn/lib/stringprep.c:499,1
    - Dst: strcmp
      Src: /src/libidn/lib/stringprep.c:503,1
    - Dst: free
      Src: /src/libidn/lib/stringprep.c:511,1
    - Dst: malloc
      Src: /src/libidn/lib/stringprep.c:512,1
    - Dst: strcpy
      Src: /src/libidn/lib/stringprep.c:516,1
    - Dst: stringprep
      Src: /src/libidn/lib/stringprep.c:518,1
    - Dst: free
      Src: /src/libidn/lib/stringprep.c:527,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 20
    argCount: 4
    argNames:
    - in
    - out
    - profile
    - flags
    argTypes:
    - char*
    - char**
    - char*
    - Stringprep_profile_flags
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 530
      start: 492
    functionDepth: 6
    functionLinenumber: 492
    functionLinenumberEnd: 530
    functionName: stringprep_profile
    functionSourceFile: /src/libidn/lib/stringprep.c
    functionUses: 2
    functionsReached:
    - stringprep
    - strlen
    - strcmp
    - free
    - malloc
    - strcpy
    linkageType: ''
    returnType: int
    signature: "int stringprep_profile (const char *in,\n\t\t    char **out,\n\t\t
      \   const char *profile, Stringprep_profile_flags flags)"
  - 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: countof
    functionSourceFile: /src/libidn/lib/profiles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: countof(a)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - x
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 52
      start: 51
    functionDepth: 0
    functionLinenumber: 51
    functionLinenumberEnd: 52
    functionName: TABLE
    functionSourceFile: /src/libidn/lib/profiles.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: TABLE(x)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - maxlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 204
      start: 202
    functionDepth: 0
    functionLinenumber: 202
    functionLinenumberEnd: 204
    functionName: stringprep_nameprep
    functionSourceFile: /src/libidn/lib/stringprep.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stringprep_nameprep(in, maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - maxlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 207
      start: 205
    functionDepth: 0
    functionLinenumber: 205
    functionLinenumberEnd: 207
    functionName: stringprep_nameprep_no_unassigned
    functionSourceFile: /src/libidn/lib/stringprep.h
    functionUses: 2
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stringprep_nameprep_no_unassigned(in, maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - maxlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 218
      start: 216
    functionDepth: 0
    functionLinenumber: 216
    functionLinenumberEnd: 218
    functionName: stringprep_plain
    functionSourceFile: /src/libidn/lib/stringprep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stringprep_plain(in, maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - maxlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 225
      start: 223
    functionDepth: 0
    functionLinenumber: 223
    functionLinenumberEnd: 225
    functionName: stringprep_kerberos5
    functionSourceFile: /src/libidn/lib/stringprep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stringprep_kerberos5(in, maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - maxlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 235
      start: 233
    functionDepth: 0
    functionLinenumber: 233
    functionLinenumberEnd: 235
    functionName: stringprep_xmpp_nodeprep
    functionSourceFile: /src/libidn/lib/stringprep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stringprep_xmpp_nodeprep(in, maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - maxlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 237
      start: 235
    functionDepth: 0
    functionLinenumber: 235
    functionLinenumberEnd: 237
    functionName: stringprep_xmpp_resourceprep
    functionSourceFile: /src/libidn/lib/stringprep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stringprep_xmpp_resourceprep(in, maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 5
    argNames:
    - (
    - in
    - ','
    - maxlen
    - )
    argTypes:
    - auto
    - auto
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 245
      start: 243
    functionDepth: 0
    functionLinenumber: 243
    functionLinenumberEnd: 245
    functionName: stringprep_iscsi
    functionSourceFile: /src/libidn/lib/stringprep.h
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: stringprep_iscsi(in, maxlen)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 83
      start: 82
    functionDepth: 0
    functionLinenumber: 82
    functionLinenumberEnd: 83
    functionName: basic
    functionSourceFile: /src/libidn/lib/punycode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: basic(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - cp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 86
      start: 85
    functionDepth: 0
    functionLinenumber: 85
    functionLinenumberEnd: 86
    functionName: delim
    functionSourceFile: /src/libidn/lib/punycode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: delim(cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 1
    argNames:
    - cp
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 96
      start: 91
    functionDepth: 0
    functionLinenumber: 91
    functionLinenumberEnd: 96
    functionName: decode_digit
    functionSourceFile: /src/libidn/lib/punycode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: unsigned
    signature: unsigned decode_digit (int cp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 2
    argCount: 2
    argNames:
    - d
    - flag
    argTypes:
    - punycode_uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 110
      start: 104
    functionDepth: 0
    functionLinenumber: 104
    functionLinenumberEnd: 110
    functionName: encode_digit
    functionSourceFile: /src/libidn/lib/punycode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char encode_digit (punycode_uint d, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - bcp
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 117
      start: 116
    functionDepth: 0
    functionLinenumber: 116
    functionLinenumberEnd: 117
    functionName: flagged
    functionSourceFile: /src/libidn/lib/punycode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: flagged(bcp)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 3
    argCount: 2
    argNames:
    - bcp
    - flag
    argTypes:
    - punycode_uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 129
      start: 124
    functionDepth: 0
    functionLinenumber: 124
    functionLinenumberEnd: 129
    functionName: encode_basic
    functionSourceFile: /src/libidn/lib/punycode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: char
    signature: char encode_basic (punycode_uint bcp, int flag)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 7
    argCount: 3
    argNames:
    - delta
    - numpoints
    - firsttime
    argTypes:
    - punycode_uint
    - punycode_uint
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 154
      start: 139
    functionDepth: 0
    functionLinenumber: 139
    functionLinenumberEnd: 154
    functionName: adapt
    functionSourceFile: /src/libidn/lib/punycode.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: punycode_uint
    signature: punycode_uint adapt (punycode_uint delta, punycode_uint numpoints,
      int firsttime)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: basic
      Src: /src/libidn/lib/punycode.c:224,1
    - Dst: encode_basic
      Src: /src/libidn/lib/punycode.c:229,1
    - Dst: encode_digit
      Src: /src/libidn/lib/punycode.c:292,1
    - Dst: encode_digit
      Src: /src/libidn/lib/punycode.c:296,1
    - Dst: adapt
      Src: /src/libidn/lib/punycode.c:297,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 5
    argNames:
    - input_length
    - input
    - case_flags
    - output_length
    - output
    argTypes:
    - size_t
    - punycode_uint[]
    - unsigned char[]
    - size_t*
    - char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 308
      start: 195
    functionDepth: 1
    functionLinenumber: 195
    functionLinenumberEnd: 308
    functionName: punycode_encode
    functionSourceFile: /src/libidn/lib/punycode.c
    functionUses: 3
    functionsReached:
    - basic
    - encode_digit
    - encode_basic
    - adapt
    linkageType: ''
    returnType: int
    signature: "int punycode_encode (size_t input_length,\n\t\t const punycode_uint
      input[],\n\t\t const unsigned char case_flags[],\n\t\t size_t *output_length,
      char output[])"
  - BBCount: 15
    BranchProfiles: []
    Callsites:
    - Dst: delim
      Src: /src/libidn/lib/punycode.c:369,1
    - Dst: flagged
      Src: /src/libidn/lib/punycode.c:377,1
    - Dst: basic
      Src: /src/libidn/lib/punycode.c:378,1
    - Dst: basic
      Src: /src/libidn/lib/punycode.c:383,1
    - Dst: decode_digit
      Src: /src/libidn/lib/punycode.c:404,1
    - Dst: adapt
      Src: /src/libidn/lib/punycode.c:419,1
    - Dst: memmove
      Src: /src/libidn/lib/punycode.c:440,1
    - Dst: flagged
      Src: /src/libidn/lib/punycode.c:442,1
    - Dst: memmove
      Src: /src/libidn/lib/punycode.c:445,1
    CyclomaticComplexity: 22
    EdgeCount: 22
    ICount: 55
    argCount: 5
    argNames:
    - input_length
    - input
    - output_length
    - output
    - case_flags
    argTypes:
    - size_t
    - char[]
    - size_t*
    - punycode_uint[]
    - unsigned char[]
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 452
      start: 347
    functionDepth: 1
    functionLinenumber: 347
    functionLinenumberEnd: 452
    functionName: punycode_decode
    functionSourceFile: /src/libidn/lib/punycode.c
    functionUses: 3
    functionsReached:
    - adapt
    - decode_digit
    - delim
    - flagged
    - basic
    - memmove
    linkageType: ''
    returnType: int
    signature: "int punycode_decode (size_t input_length,\n\t\t const char input[],\n\t\t
      size_t *output_length,\n\t\t punycode_uint output[], unsigned char case_flags[])"
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: strverscmp
      Src: /src/libidn/lib/version.c:55,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 4
    argCount: 1
    argNames:
    - req_version
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 59
      start: 52
    functionDepth: 0
    functionLinenumber: 52
    functionLinenumberEnd: 59
    functionName: stringprep_check_version
    functionSourceFile: /src/libidn/lib/version.c
    functionUses: 2
    functionsReached:
    - strverscmp
    linkageType: ''
    returnType: char
    signature: 'char *

      stringprep_check_version (const char *req_version)'
  - BBCount: 9
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:38,1
    - Dst: assert
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:39,1
    - Dst: malloc
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:43,1
    - Dst: malloc
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:44,1
    - Dst: assert
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:46,1
    - Dst: assert
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:47,1
    - Dst: memcpy
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:49,1
    - Dst: idna_to_ascii_4i
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:51,1
    - Dst: idna_to_ascii_4i
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:52,1
    - Dst: free
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:55,1
    - Dst: idna_to_ascii_4z
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:58,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:59,1
    - Dst: idna_to_ascii_4z
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:60,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:63,1
    - Dst: free
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:64,1
    - Dst: memcpy
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:68,1
    - Dst: idna_to_ascii_8z
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:71,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:72,1
    - Dst: idna_to_ascii_8z
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:73,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:76,1
    - Dst: idna_to_ascii_lz
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:77,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:78,1
    - Dst: idna_to_ascii_lz
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:79,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:82,1
    - Dst: free
      Src: /src/libidn/fuzz/libidn_toascii_fuzzer.c:84,1
    CyclomaticComplexity: 8
    EdgeCount: 8
    ICount: 31
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (asc != NULL)
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/libidn/fuzz/libidn_toascii_fuzzer.c
    - condition: (data0 != NULL)
      pos:
        line_end: 45
        line_start: 45
        source_file: /src/libidn/fuzz/libidn_toascii_fuzzer.c
    - condition: (domain != NULL)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/libidn/fuzz/libidn_toascii_fuzzer.c
    constantsTouched: []
    func_position:
      end: 87
      start: 29
    functionDepth: 7
    functionLinenumber: 29
    functionLinenumberEnd: 87
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libidn/fuzz/libidn_toascii_fuzzer.c
    functionUses: 0
    functionsReached:
    - idn_free
    - assert
    - idna_to_ascii_lz
    - idna_to_ascii_4i
    - free
    - malloc
    - memcpy
    - idna_to_ascii_4z
    - idna_to_ascii_8z
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput (const uint8_t *data, size_t size)
  - BBCount: 13
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:38,1
    - Dst: assert
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:39,1
    - Dst: memcpy
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:42,1
    - Dst: malloc
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:47,1
    - Dst: malloc
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:51,1
    - Dst: assert
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:52,1
    - Dst: memcpy
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:53,1
    - Dst: assert
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:55,1
    - Dst: idna_to_unicode_44i
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:58,1
    - Dst: idna_to_unicode_44i
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:60,1
    - Dst: free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:63,1
    - Dst: idna_to_unicode_4z4z
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:67,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:68,1
    - Dst: idna_to_unicode_4z4z
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:69,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:72,1
    - Dst: free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:74,1
    - Dst: idna_to_unicode_8z4z
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:76,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:77,1
    - Dst: idna_to_unicode_8z4z
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:78,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:81,1
    - Dst: idna_to_unicode_8z8z
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:84,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:85,1
    - Dst: idna_to_unicode_8z8z
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:86,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:89,1
    - Dst: idna_to_unicode_8zlz
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:90,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:91,1
    - Dst: idna_to_unicode_8zlz
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:92,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:95,1
    - Dst: idna_to_unicode_lzlz
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:96,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:97,1
    - Dst: idna_to_unicode_lzlz
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:98,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:101,1
    - Dst: free
      Src: /src/libidn/fuzz/libidn_tounicode_fuzzer.c:103,1
    CyclomaticComplexity: 12
    EdgeCount: 12
    ICount: 42
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (domain != NULL)
      pos:
        line_end: 38
        line_start: 38
        source_file: /src/libidn/fuzz/libidn_tounicode_fuzzer.c
    - condition: (data0 != NULL)
      pos:
        line_end: 51
        line_start: 51
        source_file: /src/libidn/fuzz/libidn_tounicode_fuzzer.c
    - condition: (u32 != NULL)
      pos:
        line_end: 54
        line_start: 54
        source_file: /src/libidn/fuzz/libidn_tounicode_fuzzer.c
    constantsTouched: []
    func_position:
      end: 106
      start: 29
    functionDepth: 11
    functionLinenumber: 29
    functionLinenumberEnd: 106
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libidn/fuzz/libidn_tounicode_fuzzer.c
    functionUses: 0
    functionsReached:
    - idna_to_unicode_8zlz
    - idn_free
    - assert
    - idna_to_unicode_4z4z
    - idna_to_unicode_8z4z
    - free
    - idna_to_unicode_8z8z
    - malloc
    - memcpy
    - idna_to_unicode_lzlz
    - idna_to_unicode_44i
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput (const uint8_t *data, size_t size)
  - BBCount: 7
    BranchProfiles: []
    Callsites:
    - Dst: opendir
      Src: /src/libidn/fuzz/main.c:46,1
    - Dst: readdir
      Src: /src/libidn/fuzz/main.c:48,1
    - Dst: asprintf
      Src: /src/libidn/fuzz/main.c:59,1
    - Dst: fprintf
      Src: /src/libidn/fuzz/main.c:61,1
    - Dst: open
      Src: /src/libidn/fuzz/main.c:65,1
    - Dst: fprintf
      Src: /src/libidn/fuzz/main.c:67,1
    - Dst: fstat
      Src: /src/libidn/fuzz/main.c:71,1
    - Dst: fprintf
      Src: /src/libidn/fuzz/main.c:73,1
    - Dst: close
      Src: /src/libidn/fuzz/main.c:74,1
    - Dst: malloc
      Src: /src/libidn/fuzz/main.c:78,1
    - Dst: read
      Src: /src/libidn/fuzz/main.c:79,1
    - Dst: printf
      Src: /src/libidn/fuzz/main.c:81,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/libidn/fuzz/main.c:83,1
    - Dst: fprintf
      Src: /src/libidn/fuzz/main.c:86,1
    - Dst: free
      Src: /src/libidn/fuzz/main.c:90,1
    - Dst: close
      Src: /src/libidn/fuzz/main.c:91,1
    - Dst: closedir
      Src: /src/libidn/fuzz/main.c:93,1
    CyclomaticComplexity: 11
    EdgeCount: 11
    ICount: 31
    argCount: 1
    argNames:
    - dirname
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 98
      start: 40
    functionDepth: 0
    functionLinenumber: 40
    functionLinenumberEnd: 98
    functionName: test_all_from
    functionSourceFile: /src/libidn/fuzz/main.c
    functionUses: 0
    functionsReached:
    - closedir
    - opendir
    - asprintf
    - open
    - readdir
    - fstat
    - close
    - malloc
    - fprintf
    - printf
    - free
    - read
    - LLVMFuzzerTestOneInput
    linkageType: ''
    returnType: int
    signature: int test_all_from (const char *dirname)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: strrchr
      Src: /src/libidn/fuzz/main.c:103,1
    - Dst: asprintf
      Src: /src/libidn/fuzz/main.c:112,1
    - Dst: fprintf
      Src: /src/libidn/fuzz/main.c:114,1
    - Dst: test_all_from
      Src: /src/libidn/fuzz/main.c:118,1
    - Dst: fprintf
      Src: /src/libidn/fuzz/main.c:120,1
    - Dst: asprintf
      Src: /src/libidn/fuzz/main.c:122,1
    - Dst: fprintf
      Src: /src/libidn/fuzz/main.c:124,1
    - Dst: test_all_from
      Src: /src/libidn/fuzz/main.c:127,1
    - Dst: test_all_from
      Src: /src/libidn/fuzz/main.c:128,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 19
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 133
      start: 100
    functionDepth: 1
    functionLinenumber: 100
    functionLinenumberEnd: 133
    functionName: main
    functionSourceFile: /src/libidn/fuzz/main.c
    functionUses: 6
    functionsReached:
    - test_all_from
    - asprintf
    - fprintf
    - strrchr
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 2
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 6
    argCount: 1
    argNames:
    - n
    argTypes:
    - int
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 150
      start: 138
    functionDepth: 0
    functionLinenumber: 138
    functionLinenumberEnd: 150
    functionName: __AFL_LOOP
    functionSourceFile: /src/libidn/fuzz/main.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: int
    signature: int __AFL_LOOP (int n)
  - BBCount: 2
    BranchProfiles: []
    Callsites:
    - Dst: __AFL_LOOP
      Src: /src/libidn/fuzz/main.c:159,1
    - Dst: fread
      Src: /src/libidn/fuzz/main.c:161,1
    - Dst: LLVMFuzzerTestOneInput
      Src: /src/libidn/fuzz/main.c:165,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 8
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 169
      start: 153
    functionDepth: 1
    functionLinenumber: 153
    functionLinenumberEnd: 169
    functionName: main
    functionSourceFile: /src/libidn/fuzz/main.c
    functionUses: 6
    functionsReached:
    - fread
    - LLVMFuzzerTestOneInput
    - __AFL_LOOP
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 6
    BranchProfiles: []
    Callsites:
    - Dst: malloc
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:45,1
    - Dst: malloc
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:46,1
    - Dst: malloc
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:47,1
    - Dst: assert
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:48,1
    - Dst: assert
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:49,1
    - Dst: assert
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:50,1
    - Dst: memcpy
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:53,1
    - Dst: stringprep_check_version
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:56,1
    - Dst: stringprep_profile
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:58,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:61,1
    - Dst: pr29_8z
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:63,1
    - Dst: tld_get_z
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:66,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:67,1
    - Dst: tld_default_table
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:68,1
    - Dst: tld_check_8z
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:69,1
    - Dst: tld_check_lz
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:70,1
    - Dst: stringprep_utf8_nfkc_normalize
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:73,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:74,1
    - Dst: stringprep_utf8_to_unichar
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:76,1
    - Dst: stringprep_unichar_to_utf8
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:77,1
    - Dst: memcpy
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:79,1
    - Dst: stringprep
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:81,1
    - Dst: memcpy
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:82,1
    - Dst: stringprep
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:84,1
    - Dst: malloc
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:88,1
    - Dst: assert
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:90,1
    - Dst: memcpy
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:92,1
    - Dst: stringprep_4zi
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:94,1
    - Dst: memcpy
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:97,1
    - Dst: tld_get_4z
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:100,1
    - Dst: idn_free
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:101,1
    - Dst: tld_check_4tz
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:103,1
    - Dst: tld_check_4z
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:104,1
    - Dst: free
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:107,1
    - Dst: free
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:110,1
    - Dst: free
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:111,1
    - Dst: free
      Src: /src/libidn/fuzz/libidn_stringprep_fuzzer.c:112,1
    CyclomaticComplexity: 5
    EdgeCount: 5
    ICount: 47
    argCount: 2
    argNames:
    - data
    - size
    argTypes:
    - uint8_t*
    - size_t
    assertStmts:
    - condition: (label != NULL)
      pos:
        line_end: 48
        line_start: 48
        source_file: /src/libidn/fuzz/libidn_stringprep_fuzzer.c
    - condition: (u32 != NULL)
      pos:
        line_end: 89
        line_start: 89
        source_file: /src/libidn/fuzz/libidn_stringprep_fuzzer.c
    - condition: (wdata != NULL)
      pos:
        line_end: 47
        line_start: 47
        source_file: /src/libidn/fuzz/libidn_stringprep_fuzzer.c
    - condition: (utf8_seq != NULL)
      pos:
        line_end: 49
        line_start: 49
        source_file: /src/libidn/fuzz/libidn_stringprep_fuzzer.c
    constantsTouched: []
    func_position:
      end: 115
      start: 31
    functionDepth: 7
    functionLinenumber: 31
    functionLinenumberEnd: 115
    functionName: LLVMFuzzerTestOneInput
    functionSourceFile: /src/libidn/fuzz/libidn_stringprep_fuzzer.c
    functionUses: 2
    functionsReached:
    - malloc
    - tld_get_4z
    - stringprep_utf8_nfkc_normalize
    - idn_free
    - stringprep
    - assert
    - free
    - pr29_8z
    - tld_check_4z
    - stringprep_4zi
    - stringprep_profile
    - tld_default_table
    - tld_check_8z
    - tld_check_4tz
    - stringprep_utf8_to_unichar
    - stringprep_check_version
    - memcpy
    - tld_check_lz
    - stringprep_unichar_to_utf8
    - tld_get_z
    linkageType: ''
    returnType: int
    signature: int LLVMFuzzerTestOneInput (const uint8_t *data, size_t size)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/libidn/examples/example3.c:49,1
    - Dst: printf
      Src: /src/libidn/examples/example3.c:51,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/examples/example3.c:51,1
    - Dst: fflush
      Src: /src/libidn/examples/example3.c:52,1
    - Dst: fgets
      Src: /src/libidn/examples/example3.c:53,1
    - Dst: perror
      Src: /src/libidn/examples/example3.c:54,1
    - Dst: strlen
      Src: /src/libidn/examples/example3.c:55,1
    - Dst: printf
      Src: /src/libidn/examples/example3.c:57,1
    - Dst: strlen
      Src: /src/libidn/examples/example3.c:57,1
    - Dst: strlen
      Src: /src/libidn/examples/example3.c:58,1
    - Dst: printf
      Src: /src/libidn/examples/example3.c:59,1
    - Dst: printf
      Src: /src/libidn/examples/example3.c:60,1
    - Dst: idna_to_ascii_lz
      Src: /src/libidn/examples/example3.c:62,1
    - Dst: printf
      Src: /src/libidn/examples/example3.c:65,1
    - Dst: idna_strerror
      Src: /src/libidn/examples/example3.c:65,1
    - Dst: printf
      Src: /src/libidn/examples/example3.c:69,1
    - Dst: strlen
      Src: /src/libidn/examples/example3.c:69,1
    - Dst: strlen
      Src: /src/libidn/examples/example3.c:70,1
    - Dst: printf
      Src: /src/libidn/examples/example3.c:71,1
    - Dst: printf
      Src: /src/libidn/examples/example3.c:72,1
    - Dst: free
      Src: /src/libidn/examples/example3.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 41
    functionDepth: 7
    functionLinenumber: 41
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/libidn/examples/example3.c
    functionUses: 6
    functionsReached:
    - idna_strerror
    - perror
    - strlen
    - idna_to_ascii_lz
    - printf
    - setlocale
    - free
    - fflush
    - stringprep_locale_charset
    - fgets
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 8
    BranchProfiles: []
    Callsites:
    - Dst: printf
      Src: /src/libidn/examples/example5.c:63,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/examples/example5.c:63,1
    - Dst: fflush
      Src: /src/libidn/examples/example5.c:64,1
    - Dst: fgets
      Src: /src/libidn/examples/example5.c:65,1
    - Dst: perror
      Src: /src/libidn/examples/example5.c:66,1
    - Dst: strlen
      Src: /src/libidn/examples/example5.c:67,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:69,1
    - Dst: strlen
      Src: /src/libidn/examples/example5.c:69,1
    - Dst: strlen
      Src: /src/libidn/examples/example5.c:70,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:71,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:72,1
    - Dst: stringprep_locale_to_utf8
      Src: /src/libidn/examples/example5.c:74,1
    - Dst: strlen
      Src: /src/libidn/examples/example5.c:77,1
    - Dst: memcpy
      Src: /src/libidn/examples/example5.c:80,1
    - Dst: free
      Src: /src/libidn/examples/example5.c:82,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:85,1
    - Dst: idna_to_ascii_8z
      Src: /src/libidn/examples/example5.c:87,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:90,1
    - Dst: idna_strerror
      Src: /src/libidn/examples/example5.c:90,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:94,1
    - Dst: strlen
      Src: /src/libidn/examples/example5.c:94,1
    - Dst: idna_to_unicode_8z4z
      Src: /src/libidn/examples/example5.c:96,1
    - Dst: free
      Src: /src/libidn/examples/example5.c:97,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:100,1
    - Dst: idna_strerror
      Src: /src/libidn/examples/example5.c:101,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:105,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:107,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:108,1
    - Dst: tld_check_4z
      Src: /src/libidn/examples/example5.c:110,1
    - Dst: free
      Src: /src/libidn/examples/example5.c:111,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:114,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:120,1
    - Dst: tld_strerror
      Src: /src/libidn/examples/example5.c:120,1
    - Dst: printf
      Src: /src/libidn/examples/example5.c:124,1
    CyclomaticComplexity: 9
    EdgeCount: 9
    ICount: 47
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 127
      start: 54
    functionDepth: 8
    functionLinenumber: 54
    functionLinenumberEnd: 127
    functionName: main
    functionSourceFile: /src/libidn/examples/example5.c
    functionUses: 6
    functionsReached:
    - idna_strerror
    - perror
    - stringprep_locale_to_utf8
    - strlen
    - idna_to_unicode_8z4z
    - tld_check_4z
    - printf
    - free
    - memcpy
    - fflush
    - stringprep_locale_charset
    - tld_strerror
    - fgets
    - idna_to_ascii_8z
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/libidn/examples/example4.c:49,1
    - Dst: printf
      Src: /src/libidn/examples/example4.c:51,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/examples/example4.c:51,1
    - Dst: fflush
      Src: /src/libidn/examples/example4.c:52,1
    - Dst: fgets
      Src: /src/libidn/examples/example4.c:53,1
    - Dst: perror
      Src: /src/libidn/examples/example4.c:54,1
    - Dst: strlen
      Src: /src/libidn/examples/example4.c:55,1
    - Dst: printf
      Src: /src/libidn/examples/example4.c:57,1
    - Dst: strlen
      Src: /src/libidn/examples/example4.c:57,1
    - Dst: strlen
      Src: /src/libidn/examples/example4.c:58,1
    - Dst: printf
      Src: /src/libidn/examples/example4.c:59,1
    - Dst: printf
      Src: /src/libidn/examples/example4.c:60,1
    - Dst: idna_to_unicode_lzlz
      Src: /src/libidn/examples/example4.c:62,1
    - Dst: printf
      Src: /src/libidn/examples/example4.c:65,1
    - Dst: idna_strerror
      Src: /src/libidn/examples/example4.c:65,1
    - Dst: printf
      Src: /src/libidn/examples/example4.c:69,1
    - Dst: strlen
      Src: /src/libidn/examples/example4.c:69,1
    - Dst: strlen
      Src: /src/libidn/examples/example4.c:70,1
    - Dst: printf
      Src: /src/libidn/examples/example4.c:71,1
    - Dst: printf
      Src: /src/libidn/examples/example4.c:72,1
    - Dst: free
      Src: /src/libidn/examples/example4.c:74,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 22
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 77
      start: 41
    functionDepth: 11
    functionLinenumber: 41
    functionLinenumberEnd: 77
    functionName: main
    functionSourceFile: /src/libidn/examples/example4.c
    functionUses: 6
    functionsReached:
    - idna_strerror
    - perror
    - strlen
    - printf
    - setlocale
    - free
    - fflush
    - idna_to_unicode_lzlz
    - stringprep_locale_charset
    - fgets
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fprintf
      Src: /src/libidn/examples/example2.c:59,1
    - Dst: exit
      Src: /src/libidn/examples/example2.c:72,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - argv
    argTypes:
    - char**
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 73
      start: 56
    functionDepth: 0
    functionLinenumber: 56
    functionLinenumberEnd: 73
    functionName: usage
    functionSourceFile: /src/libidn/examples/example2.c
    functionUses: 1
    functionsReached:
    - exit
    - fprintf
    linkageType: ''
    returnType: void
    signature: void usage (char **argv)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: fputs
      Src: /src/libidn/examples/example2.c:78,1
    - Dst: exit
      Src: /src/libidn/examples/example2.c:79,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 3
    argCount: 1
    argNames:
    - msg
    argTypes:
    - char*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 80
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 80
    functionName: fail
    functionSourceFile: /src/libidn/examples/example2.c
    functionUses: 17
    functionsReached:
    - exit
    - fputs
    linkageType: ''
    returnType: void
    signature: void fail (const char *msg)
  - BBCount: 26
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/libidn/examples/example2.c:103,1
    - Dst: usage
      Src: /src/libidn/examples/example2.c:106,1
    - Dst: usage
      Src: /src/libidn/examples/example2.c:108,1
    - Dst: usage
      Src: /src/libidn/examples/example2.c:110,1
    - Dst: scanf
      Src: /src/libidn/examples/example2.c:125,1
    - Dst: ferror
      Src: /src/libidn/examples/example2.c:126,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:127,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:133,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:137,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:144,1
    - Dst: punycode_encode
      Src: /src/libidn/examples/example2.c:152,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:155,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:157,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:159,1
    - Dst: assert
      Src: /src/libidn/examples/example2.c:160,1
    - Dst: assert
      Src: /src/libidn/examples/example2.c:167,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:169,1
    - Dst: puts
      Src: /src/libidn/examples/example2.c:174,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:176,1
    - Dst: fgets
      Src: /src/libidn/examples/example2.c:187,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:188,1
    - Dst: ferror
      Src: /src/libidn/examples/example2.c:189,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:190,1
    - Dst: feof
      Src: /src/libidn/examples/example2.c:191,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:192,1
    - Dst: strlen
      Src: /src/libidn/examples/example2.c:193,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:195,1
    - Dst: strchr
      Src: /src/libidn/examples/example2.c:200,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:202,1
    - Dst: punycode_decode
      Src: /src/libidn/examples/example2.c:209,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:212,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:214,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:216,1
    - Dst: assert
      Src: /src/libidn/examples/example2.c:217,1
    - Dst: printf
      Src: /src/libidn/examples/example2.c:223,1
    - Dst: fail
      Src: /src/libidn/examples/example2.c:226,1
    - Dst: usage
      Src: /src/libidn/examples/example2.c:232,1
    CyclomaticComplexity: 34
    EdgeCount: 34
    ICount: 84
    argCount: 2
    argNames:
    - argc
    - argv
    argTypes:
    - int
    - char**
    assertStmts:
    - condition: (status == punycode_success)
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/libidn/examples/example2.c
    - condition: (c >= 0 && c <= 127)
      pos:
        line_end: 166
        line_start: 166
        source_file: /src/libidn/examples/example2.c
    - condition: (status == punycode_success)
      pos:
        line_end: 216
        line_start: 216
        source_file: /src/libidn/examples/example2.c
    constantsTouched: []
    func_position:
      end: 234
      start: 95
    functionDepth: 2
    functionLinenumber: 95
    functionLinenumberEnd: 234
    functionName: main
    functionSourceFile: /src/libidn/examples/example2.c
    functionUses: 6
    functionsReached:
    - puts
    - punycode_decode
    - strlen
    - assert
    - usage
    - strchr
    - ferror
    - printf
    - setlocale
    - scanf
    - fail
    - punycode_encode
    - feof
    - fgets
    linkageType: ''
    returnType: int
    signature: int main (int argc, char **argv)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: setlocale
      Src: /src/libidn/examples/example.c:48,1
    - Dst: printf
      Src: /src/libidn/examples/example.c:50,1
    - Dst: stringprep_locale_charset
      Src: /src/libidn/examples/example.c:50,1
    - Dst: fflush
      Src: /src/libidn/examples/example.c:51,1
    - Dst: fgets
      Src: /src/libidn/examples/example.c:52,1
    - Dst: perror
      Src: /src/libidn/examples/example.c:53,1
    - Dst: strlen
      Src: /src/libidn/examples/example.c:54,1
    - Dst: printf
      Src: /src/libidn/examples/example.c:56,1
    - Dst: strlen
      Src: /src/libidn/examples/example.c:56,1
    - Dst: strlen
      Src: /src/libidn/examples/example.c:57,1
    - Dst: printf
      Src: /src/libidn/examples/example.c:58,1
    - Dst: printf
      Src: /src/libidn/examples/example.c:59,1
    - Dst: stringprep_locale_to_utf8
      Src: /src/libidn/examples/example.c:61,1
    - Dst: strlen
      Src: /src/libidn/examples/example.c:64,1
    - Dst: memcpy
      Src: /src/libidn/examples/example.c:67,1
    - Dst: free
      Src: /src/libidn/examples/example.c:69,1
    - Dst: printf
      Src: /src/libidn/examples/example.c:72,1
    - Dst: printf
      Src: /src/libidn/examples/example.c:74,1
    - Dst: strlen
      Src: /src/libidn/examples/example.c:74,1
    - Dst: strlen
      Src: /src/libidn/examples/example.c:75,1
    - Dst: printf
      Src: /src/libidn/examples/example.c:76,1
    - Dst: printf
      Src: /src/libidn/examples/example.c:77,1
    - Dst: stringprep
      Src: /src/libidn/examples/example.c:79,1
    - Dst: printf
      Src: /src/libidn/examples/example.c:81,1
    - Dst: stringprep_strerror
      Src: /src/libidn/examples/example.c:81,1
    - Dst: printf
      Src: /src/libidn/examples/example.c:84,1
    - Dst: strlen
      Src: /src/libidn/examples/example.c:84,1
    - Dst: strlen
      Src: /src/libidn/examples/example.c:85,1
    - Dst: printf
      Src: /src/libidn/examples/example.c:86,1
    - Dst: printf
      Src: /src/libidn/examples/example.c:87,1
    CyclomaticComplexity: 7
    EdgeCount: 7
    ICount: 33
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 91
      start: 40
    functionDepth: 6
    functionLinenumber: 40
    functionLinenumberEnd: 91
    functionName: main
    functionSourceFile: /src/libidn/examples/example.c
    functionUses: 6
    functionsReached:
    - perror
    - stringprep_locale_to_utf8
    - strlen
    - stringprep
    - stringprep_strerror
    - printf
    - setlocale
    - memcpy
    - fflush
    - free
    - stringprep_locale_charset
    - fgets
    linkageType: ''
    returnType: int
    signature: int main (void)
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: GetStringUTFChars
      Src: /src/libidn/contrib/java/IDNA.c:11,1
    - Dst: idna_to_ascii_from_utf8
      Src: /src/libidn/contrib/java/IDNA.c:13,1
    - Dst: ReleaseStringUTFChars
      Src: /src/libidn/contrib/java/IDNA.c:15,1
    - Dst: NewStringUTF
      Src: /src/libidn/contrib/java/IDNA.c:17,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 5
    argCount: 3
    argNames:
    - env
    - obj
    - jstr
    argTypes:
    - JNIEnv*
    - jobject
    - jstring
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 18
      start: 4
    functionDepth: 0
    functionLinenumber: 4
    functionLinenumberEnd: 18
    functionName: Java_IDNA_toAscii
    functionSourceFile: /src/libidn/contrib/java/IDNA.c
    functionUses: 0
    functionsReached:
    - NewStringUTF
    - GetStringUTFChars
    - ReleaseStringUTFChars
    - idna_to_ascii_from_utf8
    linkageType: ''
    returnType: JNIEXPORT
    signature: JNIEXPORT Java_IDNA_toAscii (JNIEnv *env, jobject obj, jstring jstr)
  - BBCount: 1
    BranchProfiles: []
    Callsites: []
    CyclomaticComplexity: 1
    EdgeCount: 1
    ICount: 1
    argCount: 3
    argNames:
    - (
    - message
    - )
    argTypes:
    - auto
    - auto
    - auto
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 19
      start: 18
    functionDepth: 0
    functionLinenumber: 18
    functionLinenumberEnd: 19
    functionName: onError
    functionSourceFile: /src/libidn/contrib/idn-python/idn.c
    functionUses: 0
    functionsReached: []
    linkageType: ''
    returnType: auto
    signature: onError(message)
  - BBCount: 5
    BranchProfiles: []
    Callsites:
    - Dst: PyArg_ParseTuple
      Src: /src/libidn/contrib/idn-python/idn.c:26,1
    - Dst: onError
      Src: /src/libidn/contrib/idn-python/idn.c:27,1
    - Dst: idna_to_ascii_8z
      Src: /src/libidn/contrib/idn-python/idn.c:28,1
    - Dst: malloc
      Src: /src/libidn/contrib/idn-python/idn.c:34,1
    - Dst: sprintf
      Src: /src/libidn/contrib/idn-python/idn.c:35,1
    - Dst: strlen
      Src: /src/libidn/contrib/idn-python/idn.c:35,1
    - Dst: PyErr_SetString
      Src: /src/libidn/contrib/idn-python/idn.c:36,1
    - Dst: free
      Src: /src/libidn/contrib/idn-python/idn.c:37,1
    - Dst: malloc
      Src: /src/libidn/contrib/idn-python/idn.c:41,1
    - Dst: sprintf
      Src: /src/libidn/contrib/idn-python/idn.c:42,1
    - Dst: onError
      Src: /src/libidn/contrib/idn-python/idn.c:43,1
    - Dst: Py_BuildValue
      Src: /src/libidn/contrib/idn-python/idn.c:46,1
    CyclomaticComplexity: 4
    EdgeCount: 4
    ICount: 21
    argCount: 2
    argNames:
    - self
    - args
    argTypes:
    - PyObject*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 48
      start: 20
    functionDepth: 6
    functionLinenumber: 20
    functionLinenumberEnd: 48
    functionName: idn2ace
    functionSourceFile: /src/libidn/contrib/idn-python/idn.c
    functionUses: 0
    functionsReached:
    - onError
    - Py_BuildValue
    - strlen
    - PyArg_ParseTuple
    - PyErr_SetString
    - free
    - malloc
    - sprintf
    - idna_to_ascii_8z
    linkageType: ''
    returnType: PyObject
    signature: 'PyObject *

      idn2ace (PyObject *self, PyObject *args)'
  - BBCount: 3
    BranchProfiles: []
    Callsites:
    - Dst: PyArg_ParseTuple
      Src: /src/libidn/contrib/idn-python/idn.c:56,1
    - Dst: onError
      Src: /src/libidn/contrib/idn-python/idn.c:57,1
    - Dst: idna_to_unicode_8z8z
      Src: /src/libidn/contrib/idn-python/idn.c:58,1
    - Dst: malloc
      Src: /src/libidn/contrib/idn-python/idn.c:61,1
    - Dst: sprintf
      Src: /src/libidn/contrib/idn-python/idn.c:62,1
    - Dst: onError
      Src: /src/libidn/contrib/idn-python/idn.c:63,1
    - Dst: Py_BuildValue
      Src: /src/libidn/contrib/idn-python/idn.c:65,1
    CyclomaticComplexity: 2
    EdgeCount: 2
    ICount: 11
    argCount: 2
    argNames:
    - self
    - args
    argTypes:
    - PyObject*
    - PyObject*
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 67
      start: 50
    functionDepth: 9
    functionLinenumber: 50
    functionLinenumberEnd: 67
    functionName: ace2idn
    functionSourceFile: /src/libidn/contrib/idn-python/idn.c
    functionUses: 0
    functionsReached:
    - onError
    - Py_BuildValue
    - PyArg_ParseTuple
    - idna_to_unicode_8z8z
    - malloc
    - sprintf
    linkageType: ''
    returnType: PyObject
    signature: 'PyObject *

      ace2idn (PyObject *self, PyObject *args)'
  - BBCount: 1
    BranchProfiles: []
    Callsites:
    - Dst: Py_InitModule
      Src: /src/libidn/contrib/idn-python/idn.c:78,1
    - Dst: PyErr_NewException
      Src: /src/libidn/contrib/idn-python/idn.c:79,1
    - Dst: PyErr_NewException
      Src: /src/libidn/contrib/idn-python/idn.c:80,1
    CyclomaticComplexity: 0
    EdgeCount: 0
    ICount: 4
    argCount: 0
    argNames: []
    argTypes: []
    assertStmts: []
    constantsTouched: []
    func_position:
      end: 81
      start: 75
    functionDepth: 0
    functionLinenumber: 75
    functionLinenumberEnd: 81
    functionName: initidn
    functionSourceFile: /src/libidn/contrib/idn-python/idn.c
    functionUses: 0
    functionsReached:
    - Py_InitModule
    - PyErr_NewException
    linkageType: ''
    returnType: void
    signature: void initidn ()
Fuzzer filename: /src/libidn/fuzz/libidn_toascii_fuzzer.c
Fuzzing method: LLVMFuzzerTestOneInput
included-header-files:
- sys/types.h
- stringprep.h
- errno.h
- gunidecomp.h
- fcntl.h
- idn_cmd.h
- idn-free.h
- progname.h
- ac-stdint.h
- assert.h
- netinet/in.h
- IDNA.h
- idna.h
- utils.h
- Python.h
- fuzzer.h
- stddef.h
- string.h
- netdb.h
- stdarg.h
- pr29.h
- striconv.h
- ../config.h
- sys/stat.h
- stdio.h
- dirent.h
- c-strcase.h
- tld.h
- sys/socket.h
- punycode.h
- error.h
- gettext.h
- gunicomp.h
- langinfo.h
- arpa/inet.h
- unistr.h
- stdlib.h
- version-etc.h
- jni.h
- locale.h
- idn-int.h
- config.h
- stdint.h
- rfc3454.h
- unistd.h
report: name
sources:
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_badutf8.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_punycode.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: inlen
        type: size_t
      - name: in[100]
        type: uint32_t
      - name: '*out'
        type: char
      - name: rc
        type: int
      item_type: struct
      name: punycode
      pos:
        line_end: 40
        line_start: 33
        source_file: /src/libidn/tests/tst_punycode.c
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libidn/tests/tst_versions.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_stringprep.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*comment'
        type: char
      - name: '*in'
        type: char
      - name: '*out'
        type: char
      - name: '*profile'
        type: char
      - name: flags
        type: int
      - name: rc
        type: int
      item_type: struct
      name: stringprep
      pos:
        line_end: 41
        line_start: 33
        source_file: /src/libidn/tests/tst_stringprep.c
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_idna4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libidn/tests/utils.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_idna2.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*in'
        type: char
      - name: '*out'
        type: char
      item_type: struct
      name: idna
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/libidn/tests/tst_idna2.c
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_tld.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: '*tld'
        type: char
      - name: '*example'
        type: char
      - name: inlen
        type: size_t
      - name: in[100]
        type: uint32_t
      - name: rc
        type: int
      - name: errpos
        type: size_t
      item_type: struct
      name: tld
      pos:
        line_end: 44
        line_start: 35
        source_file: /src/libidn/tests/tst_tld.c
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_nfkc.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*in'
        type: char
      - name: '*out'
        type: char
      item_type: struct
      name: nfkc
      pos:
        line_end: 37
        line_start: 33
        source_file: /src/libidn/tests/tst_nfkc.c
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_utf8crash.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_badutf8nfkc.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_idna3.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*in'
        type: char
      - name: '*out'
        type: char
      item_type: struct
      name: idna
      pos:
        line_end: 38
        line_start: 34
        source_file: /src/libidn/tests/tst_idna3.c
    typedefs: []
    union: []
- function_names:
  - assert_symbol_exists
  - doit
  source_file: /src/libidn/tests/tst_symbols.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - fail
  - escapeprint
  - hexprint
  - binprint
  - ucs4print
  - main
  source_file: /src/libidn/tests/utils.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_strerror.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: SUCCESS
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libidn/tests/tst_strerror.c
      type_or_value: '"Success"'
    - item_type: preproc_def
      name: UNKNOWN
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libidn/tests/tst_strerror.c
      type_or_value: '"Unknown error"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_toascii64oob.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_toutf8.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_idna.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: inlen
        type: size_t
      - name: in[100]
        type: uint32_t
      - name: '*out'
        type: char
      - name: flags
        type: int
      - name: toasciirc
        type: int
      - name: tounicoderc
        type: int
      item_type: struct
      name: idna
      pos:
        line_end: 44
        line_start: 35
        source_file: /src/libidn/tests/tst_idna.c
    typedefs: []
    union: []
- function_names:
  - doit
  source_file: /src/libidn/tests/tst_pr29.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*name'
        type: char
      - name: inlen
        type: size_t
      - name: in[100]
        type: uint32_t
      - name: rc
        type: int
      item_type: struct
      name: tv
      pos:
        line_end: 39
        line_start: 33
        source_file: /src/libidn/tests/tst_pr29.c
    typedefs: []
    union: []
- function_names:
  - _
  - N_
  - usage
  - main
  source_file: /src/libidn/src/idn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: GREETING
      pos:
        line_end: 53
        line_start: 49
        source_file: /src/libidn/src/idn.c
      type_or_value: "\"Copyright 2002-2026 Simon Josefsson.\\n\"\t\t\t\t \\\n  \"GNU
        Libidn is free software with ABSOLUTELY NO WARRANTY.  For more\\n\" \\\n  \"information
        about these matters, see <https://www.gnu.org/licenses/>.\\n\""
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libidn/libc/example.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _GNU_SOURCE
      pos:
        line_end: 21
        line_start: 20
        source_file: /src/libidn/libc/example.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libidn/windows/include/config.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: PACKAGE
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libidn/windows/include/config.h
      type_or_value: '"libidn"'
    - item_type: preproc_def
      name: strcasecmp
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libidn/windows/include/config.h
      type_or_value: stricmp
    - item_type: preproc_def
      name: strncasecmp
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libidn/windows/include/config.h
      type_or_value: strnicmp
    - item_type: preproc_def
      name: LOCALEDIR
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libidn/windows/include/config.h
      type_or_value: '"."'
    - item_type: preproc_def
      name: inline
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libidn/windows/include/config.h
      type_or_value: __inline
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libidn/windows/include/unistd.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libidn/windows/include/idn-int.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libidn/windows/include/ac-stdint.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _AC_STDINT_H
      pos:
        line_end: 31
        line_start: 30
        source_file: /src/libidn/windows/include/ac-stdint.h
      type_or_value: '1'
    - item_type: preproc_def
      name: uint8_t
      pos:
        line_end: 35
        line_start: 34
        source_file: /src/libidn/windows/include/ac-stdint.h
      type_or_value: unsigned char
    - item_type: preproc_def
      name: uint16_t
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libidn/windows/include/ac-stdint.h
      type_or_value: unsigned short
    - item_type: preproc_def
      name: uint32_t
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libidn/windows/include/ac-stdint.h
      type_or_value: unsigned int
    - item_type: preproc_def
      name: int8_t
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libidn/windows/include/ac-stdint.h
      type_or_value: signed char
    - item_type: preproc_def
      name: int16_t
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libidn/windows/include/ac-stdint.h
      type_or_value: signed short
    - item_type: preproc_def
      name: int32_t
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libidn/windows/include/ac-stdint.h
      type_or_value: signed int
    - item_type: preproc_def
      name: gint16
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libidn/windows/include/ac-stdint.h
      type_or_value: int16_t
    structs: []
    typedefs:
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 44
        line_start: 44
        source_file: /src/libidn/windows/include/ac-stdint.h
      type: __int64
    - item_type: typedef
      name: ssize_t
      pos:
        line_end: 46
        line_start: 46
        source_file: /src/libidn/windows/include/ac-stdint.h
      type: _W64
    union: []
- function_names: []
  source_file: /src/libidn/windows/include/stdbool.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: _Bool
      pos:
        line_end: 33
        line_start: 32
        source_file: /src/libidn/windows/include/stdbool.h
      type_or_value: signed char
    - item_type: preproc_def
      name: bool
      pos:
        line_end: 36
        line_start: 35
        source_file: /src/libidn/windows/include/stdbool.h
      type_or_value: _Bool
    - item_type: preproc_def
      name: 'false'
      pos:
        line_end: 37
        line_start: 36
        source_file: /src/libidn/windows/include/stdbool.h
      type_or_value: '0'
    - item_type: preproc_def
      name: 'true'
      pos:
        line_end: 38
        line_start: 37
        source_file: /src/libidn/windows/include/stdbool.h
      type_or_value: '1'
    - item_type: preproc_def
      name: __bool_true_false_are_defined
      pos:
        line_end: 39
        line_start: 38
        source_file: /src/libidn/windows/include/stdbool.h
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - tld_get_table
  - tld_default_table
  - DOTP
  - tld_get_4
  - tld_get_4z
  - tld_get_z
  - _tld_checkchar
  - tld_check_4t
  - tld_check_4tz
  - tld_check_4
  - tld_check_4z
  - tld_check_8z
  - tld_check_lz
  source_file: /src/libidn/lib/tld.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _
  - tld_strerror
  source_file: /src/libidn/lib/strerror-tld.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _
  - punycode_strerror
  source_file: /src/libidn/lib/strerror-punycode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - first_column
  - in_last_column_row
  - combinationclass
  - pr29_4
  - pr29_4z
  - pr29_8z
  source_file: /src/libidn/lib/pr29.c
  types:
    enum: []
    preproc_defs: []
    structs:
    - fields:
      - name: '*first'
        type: uint32_t
      - name: '*last'
        type: uint32_t
      item_type: struct
      name: Pr29
      pos:
        line_end: 1175
        line_start: 1171
        source_file: /src/libidn/lib/pr29.c
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libidn/lib/punycode.h
  types:
    enum:
    - enumerators:
      - name: punycode_success
        value: '0'
      - name: punycode_overflow
        value: '3'
      - name: punycode_big_output
        value: '2'
      - name: punycode_bad_input
        value: '1'
      item_type: enum
      name: punycode_status
      pos:
        line_end: 105
        line_start: 99
        source_file: /src/libidn/lib/punycode.h
    preproc_defs:
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libidn/lib/punycode.h
      type_or_value: __attribute__((__visibility__("default")))
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 81
        line_start: 80
        source_file: /src/libidn/lib/punycode.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 83
        line_start: 82
        source_file: /src/libidn/lib/punycode.h
      type_or_value: __declspec(dllimport)
    structs: []
    typedefs:
    - item_type: typedef
      name: punycode_uint
      pos:
        line_end: 122
        line_start: 122
        source_file: /src/libidn/lib/punycode.h
      type: uint32_t
    union: []
- function_names:
  - _
  - pr29_strerror
  source_file: /src/libidn/lib/strerror-pr29.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libidn/lib/idn-free.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libidn/lib/idn-free.h
      type_or_value: __attribute__((__visibility__("default")))
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libidn/lib/idn-free.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libidn/lib/idn-free.h
      type_or_value: __declspec(dllimport)
    structs: []
    typedefs: []
    union: []
- function_names:
  - g_return_val_if_fail
  - G_N_ELEMENTS
  - G_UNLIKELY
  - g_utf8_next_char
  - UTF8_COMPUTE
  - UTF8_LENGTH
  - UTF8_GET
  - g_utf8_strlen
  - g_utf8_get_char
  - g_unichar_to_utf8
  - g_utf8_to_ucs4_fast
  - g_ucs4_to_utf8
  - CC_PART1
  - CC_PART2
  - COMBINING_CLASS
  - g_unicode_canonical_ordering
  - decompose_hangul
  - find_decomposition
  - combine_hangul
  - CI
  - COMPOSE_INDEX
  - combine
  - _g_utf8_normalize_wc
  - g_utf8_normalize
  - stringprep_utf8_to_unichar
  - stringprep_unichar_to_utf8
  - stringprep_utf8_to_ucs4
  - stringprep_ucs4_to_utf8
  - stringprep_utf8_nfkc_normalize
  - stringprep_ucs4_nfkc_normalize
  source_file: /src/libidn/lib/nfkc.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: gboolean
      pos:
        line_end: 40
        line_start: 39
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: int
    - item_type: preproc_def
      name: gchar
      pos:
        line_end: 41
        line_start: 40
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: char
    - item_type: preproc_def
      name: guchar
      pos:
        line_end: 42
        line_start: 41
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: unsigned char
    - item_type: preproc_def
      name: gint
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: int
    - item_type: preproc_def
      name: guint
      pos:
        line_end: 44
        line_start: 43
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: unsigned int
    - item_type: preproc_def
      name: gushort
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: unsigned short
    - item_type: preproc_def
      name: gint16
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: int16_t
    - item_type: preproc_def
      name: guint16
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: uint16_t
    - item_type: preproc_def
      name: gunichar
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: uint32_t
    - item_type: preproc_def
      name: gsize
      pos:
        line_end: 49
        line_start: 48
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: size_t
    - item_type: preproc_def
      name: gssize
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: ssize_t
    - item_type: preproc_def
      name: g_malloc
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: malloc
    - item_type: preproc_def
      name: g_free
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: free
    - item_type: preproc_def
      name: 'FALSE'
      pos:
        line_end: 75
        line_start: 74
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: (0)
    - item_type: preproc_def
      name: 'TRUE'
      pos:
        line_end: 79
        line_start: 78
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: (!FALSE)
    - item_type: preproc_def
      name: SBase
      pos:
        line_end: 528
        line_start: 527
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: '0xAC00'
    - item_type: preproc_def
      name: LBase
      pos:
        line_end: 529
        line_start: 528
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: '0x1100'
    - item_type: preproc_def
      name: VBase
      pos:
        line_end: 530
        line_start: 529
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: '0x1161'
    - item_type: preproc_def
      name: TBase
      pos:
        line_end: 531
        line_start: 530
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: '0x11A7'
    - item_type: preproc_def
      name: LCount
      pos:
        line_end: 532
        line_start: 531
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: '19'
    - item_type: preproc_def
      name: VCount
      pos:
        line_end: 533
        line_start: 532
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: '21'
    - item_type: preproc_def
      name: TCount
      pos:
        line_end: 534
        line_start: 533
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: '28'
    - item_type: preproc_def
      name: NCount
      pos:
        line_end: 535
        line_start: 534
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: (VCount * TCount)
    - item_type: preproc_def
      name: SCount
      pos:
        line_end: 536
        line_start: 535
        source_file: /src/libidn/lib/nfkc.c
      type_or_value: (LCount * NCount)
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libidn/lib/idna.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 53
        line_start: 52
        source_file: /src/libidn/lib/idna.h
      type_or_value: __attribute__((__visibility__("default")))
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 55
        line_start: 54
        source_file: /src/libidn/lib/idna.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 57
        line_start: 56
        source_file: /src/libidn/lib/idna.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: IDNA_ACE_PREFIX
      pos:
        line_end: 99
        line_start: 98
        source_file: /src/libidn/lib/idna.h
      type_or_value: '"xn--"'
    structs: []
    typedefs: []
    union: []
- function_names:
  - DOTP
  - idna_to_ascii_4i
  - idna_to_unicode_internal
  - idna_to_unicode_44i
  - idna_to_ascii_4z
  - idna_to_ascii_8z
  - idna_to_ascii_lz
  - idna_to_unicode_4z4z
  - idna_to_unicode_8z4z
  - idna_to_unicode_8z8z
  - idna_to_unicode_8zlz
  - idna_to_unicode_lzlz
  source_file: /src/libidn/lib/idna.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _
  - stringprep_strerror
  source_file: /src/libidn/lib/strerror-stringprep.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stringprep_locale_charset
  - stringprep_locale_charset
  - stringprep_convert
  - stringprep_locale_to_utf8
  - stringprep_utf8_to_locale
  source_file: /src/libidn/lib/toutf8.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: HAVE_ICONV
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libidn/lib/toutf8.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LOCALE_H
      pos:
        line_end: 51
        line_start: 50
        source_file: /src/libidn/lib/toutf8.c
      type_or_value: '1'
    - item_type: preproc_def
      name: HAVE_LANGINFO_CODESET
      pos:
        line_end: 52
        line_start: 51
        source_file: /src/libidn/lib/toutf8.c
      type_or_value: '1'
    structs: []
    typedefs: []
    union: []
- function_names:
  - idn_free
  source_file: /src/libidn/lib/idn-free.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _
  - idna_strerror
  source_file: /src/libidn/lib/strerror-idna.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - _compare_table_element
  - stringprep_find_character_in_table
  - stringprep_find_string_in_table
  - stringprep_apply_table_to_string
  - INVERTED
  - UNAPPLICAPLEFLAGS
  - stringprep_4i
  - stringprep_4zi_1
  - stringprep_4zi
  - stringprep
  - stringprep_profile
  source_file: /src/libidn/lib/stringprep.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - countof
  - TABLE
  source_file: /src/libidn/lib/profiles.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stringprep_nameprep
  - stringprep_nameprep_no_unassigned
  - stringprep_plain
  - stringprep_kerberos5
  - stringprep_xmpp_nodeprep
  - stringprep_xmpp_resourceprep
  - stringprep_iscsi
  source_file: /src/libidn/lib/stringprep.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libidn/lib/stringprep.h
      type_or_value: __attribute__((__visibility__("default")))
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libidn/lib/stringprep.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libidn/lib/stringprep.h
      type_or_value: __declspec(dllimport)
    - item_type: preproc_def
      name: STRINGPREP_VERSION
      pos:
        line_end: 62
        line_start: 61
        source_file: /src/libidn/lib/stringprep.h
      type_or_value: '"1.44"'
    - item_type: preproc_def
      name: STRINGPREP_MAX_MAP_CHARS
      pos:
        line_end: 106
        line_start: 105
        source_file: /src/libidn/lib/stringprep.h
      type_or_value: '4'
    structs:
    - fields:
      - name: start
        type: uint32_t
      - name: end
        type: uint32_t
      - name: map[STRINGPREP_MAX_MAP_CHARS]
        type: uint32_t
      item_type: struct
      name: Stringprep_table_element
      pos:
        line_end: 135
        line_start: 130
        source_file: /src/libidn/lib/stringprep.h
    - fields:
      - name: operation
        type: Stringprep_profile_steps
      - name: flags
        type: Stringprep_profile_flags
      - name: '*table'
        type: Stringprep_table_element
      - name: table_size
        type: size_t
      item_type: struct
      name: Stringprep_table
      pos:
        line_end: 153
        line_start: 147
        source_file: /src/libidn/lib/stringprep.h
    - fields:
      - name: '*name'
        type: char
      - name: '*tables'
        type: Stringprep_profile
      item_type: struct
      name: Stringprep_profiles
      pos:
        line_end: 172
        line_start: 168
        source_file: /src/libidn/lib/stringprep.h
    typedefs:
    - item_type: typedef
      name: Stringprep_table_element
      pos:
        line_end: 136
        line_start: 136
        source_file: /src/libidn/lib/stringprep.h
      type: Stringprep_table_element
    - item_type: typedef
      name: Stringprep_profile
      pos:
        line_end: 159
        line_start: 159
        source_file: /src/libidn/lib/stringprep.h
      type: Stringprep_table
    - item_type: typedef
      name: Stringprep_profiles
      pos:
        line_end: 173
        line_start: 173
        source_file: /src/libidn/lib/stringprep.h
      type: Stringprep_profiles
    union: []
- function_names: []
  source_file: /src/libidn/lib/pr29.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 43
        line_start: 42
        source_file: /src/libidn/lib/pr29.h
      type_or_value: __attribute__((__visibility__("default")))
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 45
        line_start: 44
        source_file: /src/libidn/lib/pr29.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 47
        line_start: 46
        source_file: /src/libidn/lib/pr29.h
      type_or_value: __declspec(dllimport)
    structs: []
    typedefs: []
    union: []
- function_names:
  - basic
  - delim
  - decode_digit
  - encode_digit
  - flagged
  - encode_basic
  - adapt
  - punycode_encode
  - punycode_decode
  source_file: /src/libidn/lib/punycode.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - stringprep_check_version
  source_file: /src/libidn/lib/version.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libidn/lib/tld.h
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 46
        line_start: 45
        source_file: /src/libidn/lib/tld.h
      type_or_value: __attribute__((__visibility__("default")))
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 48
        line_start: 47
        source_file: /src/libidn/lib/tld.h
      type_or_value: __declspec(dllexport)
    - item_type: preproc_def
      name: IDNAPI
      pos:
        line_end: 50
        line_start: 49
        source_file: /src/libidn/lib/tld.h
      type_or_value: __declspec(dllimport)
    structs:
    - fields:
      - name: start
        type: uint32_t
      - name: end
        type: uint32_t
      item_type: struct
      name: Tld_table_element
      pos:
        line_end: 81
        line_start: 77
        source_file: /src/libidn/lib/tld.h
    - fields:
      - name: '*name'
        type: char
      - name: '*version'
        type: char
      - name: nvalid
        type: size_t
      - name: '*valid'
        type: Tld_table_element
      item_type: struct
      name: Tld_table
      pos:
        line_end: 99
        line_start: 93
        source_file: /src/libidn/lib/tld.h
    typedefs:
    - item_type: typedef
      name: Tld_table_element
      pos:
        line_end: 82
        line_start: 82
        source_file: /src/libidn/lib/tld.h
      type: Tld_table_element
    - item_type: typedef
      name: Tld_table
      pos:
        line_end: 100
        line_start: 100
        source_file: /src/libidn/lib/tld.h
      type: Tld_table
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/libidn/fuzz/libidn_toascii_fuzzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/libidn/fuzz/libidn_tounicode_fuzzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - test_all_from
  - main
  - __AFL_LOOP
  - main
  source_file: /src/libidn/fuzz/main.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - LLVMFuzzerTestOneInput
  source_file: /src/libidn/fuzz/libidn_stringprep_fuzzer.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names: []
  source_file: /src/libidn/fuzz/fuzzer.h
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libidn/examples/example3.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libidn/examples/example5.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libidn/examples/example4.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - usage
  - fail
  - main
  source_file: /src/libidn/examples/example2.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - main
  source_file: /src/libidn/examples/example.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - Java_IDNA_toAscii
  source_file: /src/libidn/contrib/java/IDNA.c
  types:
    enum: []
    preproc_defs: []
    structs: []
    typedefs: []
    union: []
- function_names:
  - onError
  - idn2ace
  - ace2idn
  - initidn
  source_file: /src/libidn/contrib/idn-python/idn.c
  types:
    enum: []
    preproc_defs:
    - item_type: preproc_def
      name: MESSAGE_SIZE
      pos:
        line_end: 13
        line_start: 12
        source_file: /src/libidn/contrib/idn-python/idn.c
      type_or_value: '512'
    structs: []
    typedefs: []
    union: []
